sed:行處理命令,默認不修改原文件,僅對模式空間中的數據做處理,處理結束後,將模式空間打印至屏幕
sed [options] 'addressCommand' file ...
-n :靜默模式,不在默認顯示模式空間中的內容
-i : 直接修改原文件
-e:script -e script:可以同時執行多個腳本
-f /path/to/sed_script
-r: 使用擴展正則表達式
command
d:刪除符合條件的行
p:顯示符合條件的行
a \string :在指定的行前面添加新行,內容string
\n : 可以用於換行
i \string :在指定的行後面添加新行,內容string
r FILE: 將指定文件的內容添加至符合條件的行處
W FILE: 將地址指定的範圍內的行另存至指定的文件中;
s/pattern/string/: 查找並替換,默認只替換每行中第一次被模式匹配到的字符串
sed 's/^//#/' /etc/fstab
修飾符:
g:全局替換
sed 's/\//#/g' /etc/fstab
i:忽略字符大小寫
s///:s###:s@@@
&:引用模式匹配
address:
1,startLine,endLine
比如1,100
$:最後一行
2,/regexp/ 正則表達式
/^root/
3,/pattern1/,/pattern2/
第一次被pattern1匹配到的行開始,至第一次被pattern2匹配到的行結束,這中間的所有行
4,linenumber
指定的行
5,startline,+N
從startline開始,向後的n行;
history | sed 's#[[:space]]'