sed多行文本處理

3案例3:sed多行文本處理

3.1問題

本案例要求使用sed工具來完成下列任務操作

  • 修改主機名配置文件
  • 修改hosts文件,添加兩條映射記錄:192.168.4.5與svr5.tarena.com、svr5,還有119.75.217.56與www.baidu.com

3.2方案

#sed [選項] '條件指令' 文件..

sed工具的多行文本處理操作:

  • i:在指定的行之前插入文本
  • a:在指定的行之後追加文本
  • c:替換指定的行

3.3步驟

基本語法格式案例:

注意:系統默認沒有a.txt文件,需要自己創建一個測試文件!!!

[root@svr5 ~]# sed  '2a XX'   a.txt            //在第二行後面,追加XX
[root@svr5 ~]# sed  '2i XX'   a.txt            //在第二行前面,插入XX
[root@svr5 ~]# sed  '2c XX'   a.txt            //將第二行替換爲XX

實現此案例需要按照如下步驟進行。

步驟一:修改主機名配置文件

1)確認修改前的配置

[root@svr5 ~]# cat /etc/hostname
svr5.tarena.com

2)使用sed修改主機名配置所在行的內容(c整行替換)

[root@svr5 ~]# sed  '1c mysvr.tarena.com' /etc/hostname 

步驟二:修改hosts文件,添加新的記錄

1)確認修改前的配置

[root@svr5 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

2)使用sed修改hosts文件,添加兩行新記錄(a追加)

[root@svr5 ~]# sed  -i  '$a 192.168.4.5  svr5.tarena.com svr5'  /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.5  svr5.tarena.com svr5

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章