SED用法
sed:Stream EDitor
行編輯器
sed:模式空間
默認不編輯原文件,僅對模式空間的數據做處理,將處理后的結果輸出至屏幕
sed [options] 'AdressCommand' file…
OPTIONS
-n:靜默模式,不再默認顯示模式空間中的內容
-i:直接修改原文件
-e SCRIPT -e SCRIPT…:可以同時執行多個腳本
-f /PATH/TO/SED_SCRIPT:指定腳本文件
-r:使用擴展正則表達式
Adress:
1、Startline,Endline
1,100
$:最后一行
$-1:倒數第二行
2、/RegExp/
/^root/
3、/pattern1/,/pattern2/
第一次被pattern1匹配到的行開始,至第一次被pattern2匹配到的行結束,之間的所有行
4、LineNumber
指定的行
5、StartLine,+N
從指定行開始,向后的N行
Command:
d:刪除符合條件的行
eg:sed '1,$-2d' /etc/fstab
sed '/oot/d' /etc/fstab
sed '1,$-2d' /etc/fstab
sed '1d' /etc/fstab
sed '1,+2d' /etc/fstab
p:顯示符合條件的行
eg:sed -n '/^\//p' /etc/fstab
a \string:在指定的行后面追加新行,內容為“string”
eg:sed '/^\//a \hello body' /etc/fstab
sed '/^\//a \hello body\nhello baby' /etc/fsbat
i \string:在指定的行前面追加新行,內容為“string”
eg:sed '/^\//i \hello body' /etc/fstab
sed '/^\//i \hello body\nhello baby' /etc/fsbat
r FILE:將指定的文件內容添加至符合條件的行后
eg:sed '2r file' /etc/fstab
sed '1,2r file' /etc/fstab
w FILE:將地址指定的范圍內的行另存至指定的文件中
eg:sed '2w file' /etc/fstab
sed '1,2w file' /etc/fstab
s/pattern(可用正則表達式)/string/修飾符:查找并替換
默認替換每行中第一次被模式匹配到的字符串
分隔符可替換:s### s@@@
當分隔符與查找條件相同時可將其替換,避免使用轉義符
修飾符:
g:全局替換
i:忽略字符大小寫
原創文章,作者:Mr.Lee,如若轉載,請注明出處:http://www.www58058.com/31701