sed 簡單說明:sed是流編輯器。流編輯器用於執行基本文字對輸入流(檔案或管道的輸入)的轉換。雖然在某些方面類似於允許指令碼編輯的編輯器。
例項1:用sed取出指定行
[root@localhost scripts]# cat color.sh #原始檔
#!/bin/sh
red_color='\e[1;31m'
green_color='\e[1;32m'
yellow_color='\e[1;33m'
blue_color='\e[1;34m'
pink='\e[1;35m'
res='\e[0m'
echo -e "$red_color ==wer== $res"
[root@localhost scripts]# sed -n '2,3p' color.sh
red_color='\e[1;31m'
green_color='\e[1;32m'
[root@localhost scripts]#
[root@localhost scripts]#
root@localhost scripts]# sed -n '/res/p' color.sh
res='\e[0m'
echo -e "$red_color ==wer== $res"
[root@localhost scripts]#
說明:-n :取消預設輸出;輸出指定的;'2,3p'輸出2到3行p是列印;指定內容輸出它所在行
如不加 -n 輸出結果是:
[root@localhost scripts]# sed '2,3p' color.sh
#!/bin/sh
red_color='\e[1;31m'
**red_color='\e[1;31m'
green_color='\e[1;32m'**
green_color='\e[1;32m'
yellow_color='\e[1;33m'
blue_color='\e[1;34m'
pink='\e[1;35m'
res='\e[0m'
echo -e "$red_color ==wer== $res"
2:刪除指定內容
[root@localhost scripts]# sed '2,3d' color.sh #刪除2-3的內容;
#!/bin/sh
yellow_color='\e[1;33m'
blue_color='\e[1;34m'
pink='\e[1;35m'
res='\e[0m'
echo -e "$red_color ==wer== $res"
[root@localhost scripts]# sed '/yellow_color/d' color.sh #刪除指定內容行
#!/bin/sh
red_color='\e[1;31m'
green_color='\e[1;32m'
blue_color='\e[1;34m'
pink='\e[1;35m'
res='\e[0m'
echo -e "$red_color ==wer== $res"
[root@localhost scripts]#
說明:d:是刪除;但不是真正的刪除了檔案裡的內容;只是在終端不列印出來;加上 -i 才能修改檔案的內容如:sed -i '/yellow_color/d' color.sh;真正要修改檔案時才用
3:替換指定內容
替換格式 sed 's#源資料#替換資料#g' 檔名 或 sed 's/源資料/替換資料/g' 檔名;s:是取代;g:是全域性替換
[root@localhost scripts]# sed 's#res#123#g' color.sh
#!/bin/sh
red_color='\e[1;31m'
green_color='\e[1;32m'
yellow_color='\e[1;33m'
blue_color='\e[1;34m'
pink='\e[1;35m'
123='\e[0m'
echo -e "$red_color ==wer== $123"
[root@localhost scripts]#
4:用sed 替換得到ip
」.「 點代表且只能代表任意乙個字元(不匹配空行)
」*「 星代表重複之前的字元或文字0個或多個,之前的文字或字元連續0次或多
」.*「 點星代表任意多個字元
sed 's#.*inet ##g' 把包含ine前的內容全部替換空;
sed 's# netmask.*##g' 把包含netmask以後的內容全部替換空
[root@localhost scripts]# ifconfig enp0s3|grep 'inet '|sed 's#.*inet ##g'|sed 's# netmask.*##g'
192.168.0.3
[root@localhost scripts]#
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 ...
linux命令(1) sed命令
例項一 config file檔案內容如下 例項二 假設配置檔案yj.conf含有test no sed i test s test aaabbb home test yj.conf 結果 修改前 test no aaabbb no 修改後 sed i test1 d home test yj.co...