1、sed 命令的後項要引用取ip
[root@localhost scripts]# ifconfig enp0s3|grep 'inet '|sed -r 's#.*inet (.*) netmask.*$#\1#g'
192.168.0.3
[root@localhost scripts]#
[root@localhost scripts]# ifconfig enp0s3
enp0s3: flags=4163mtu 1500
inet
192.168.0.3
netmask 255.255.255.0 broadcast 192.168.0.255
.*inet
(.*) \1
netmask.*$
sed -r 's#.*inet (.*) netmask.*$#\1#g;上述顏色相同的代表內容統一;(.*)括號的內容就是選定的內容用 \1表示;若有兩個從左向右的方向排序\1 \2……
-r 支援正規表示式
2、sed 查詢內容並執行命令
查詢/etc/passwd,找到root對應的行,執行後面花括號中的一組命令,每個命令之間用分號分隔,這裡把bash替換為blueshell,再輸出這行:
[root@localhost scripts]# sed -n '/root/' /etc/passwd
root:x:0:0:root:/root:/bin/blueshell
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost scripts]#
3、sed 命令列印行
[root@localhost scripts]# sed "=" color.sh
1#!/bin/sh
2red_color='\e[1;31m'
3green_color='\e[1;32m'
4yellow_color='\e[1;33m'
54、sed 修改檔案加備份加
-i:後跟備份成的檔名;注意:如果sed 跟多個引數進行檔案備份 -i必須放到引數位的最後如果放到前面檔案會備份成這樣:
[root@localhost scripts]# sed -ir.2016.bak 's#^sed#s1#g' b.log #失敗的案例
[root@localhost scripts]# ls
b.log b.logr.2016.bak
[root@localhost scripts]# cat b.log.2018.bak
11root@localhost scripts]# sed -i.2018.bak 's#11#sedcmd#g' b.log
[root@localhost scripts]# ls b.*
b.log b.log.2018.bak
[root@localhost scripts]# cat b.log.2018.bak
11[root@localhost scripts]# cat b.log
sedcmd
sed命令使用
sed命令使用 常用選項 n 使用安靜模式,在一般情況所有的 stdin 都會輸出到螢幕上,加入 n 後只列印被 sed 特殊處理的行 e 多重編輯,且命令順序會影響結果 f 指定乙個 sed 指令碼檔案到命令列執行,r sed 使用擴充套件正則 i 直接修改文件讀取的內容,不在螢幕上輸出 sed操...
sed命令使用
常用選項 n 使用安靜模式,在一般情況所有的 stdin 都會輸出到螢幕上,加入 n 後只列印被 sed 特殊處理的行 e 多重編輯,且命令順序會影響結果 f 指定乙個 sed 指令碼檔案到命令列執行,r sed 使用擴充套件正則 i 直接修改文件讀取的內容,不在螢幕上輸出 sed操作命令 sed ...
sed命令學習(2)
table of contents 1.sed簡介 2.定址 3.sed命令 4.選項 5.元字符集 6.例項 7.指令碼 1.sed簡介 2.定址 可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示1,2,3行...