6.2 linux的三大神器
grep,sed(流編輯器),awk
sed基本用法
sed :Stream EDitor
行編輯器(全屏編輯器:vi)
sed:模式空間
默認不編輯原文件,僅對模式空間中的數據做處理:而後,處理
結束後,將模式空間打印至屏幕
sed [options] 'AddressCommand' file ...
-n:靜默模式,不再默認顯示模式空間裏的內容
Address:
1 StartLine,EndLine
比如1,100(從第1行到100行)
$:最後一行
2 /REGEXP/
比如 /^root/
sed '/oot/d' /etc/fstab
3 /Pattern1/,/Pattern2/
表示第一次被Pattern1匹配到的行開始,到第一次被Pattern2
匹配到的行結束,這中間的所有行
4 LineNumber
指定的行
sed ‘1d’ /etc/fstab
5 StartLine,+N
從StartLine開始,向後的N行,共N+1行
sed '1,+2d' /etc/fstab
Command:
d:刪除符合條件的行
p:顯示符合條件的行
a \string:在指定的行後面追加新行,內容爲"string"
\n: 可以用於換行
i \string:在指定的行前面追加新行,內容爲"string"
r FILE:將指定的文件的內容添加至符合條件的行處
w FILE:將地址指定範圍內的行另存至指定的文件中
s/pattern/string/修飾符:查找並替換(默認只替換每行中第一次
被模式匹配到的字符串)
加修飾符
g:全局替換
i:忽略字符大小寫
sed '1,2d' /etc/fstab
sed '/^\//d' /etc/fstab
sed '/^\//a \# hello world' /etc/fstab
sed '/^\//a \# hello world\n # hello,linux' /etc/fstab
sed '2r /etc/issue' /etc/fstab
sed '/oot/w /tmp/oot.txt' /etc/fstab
sed ‘s/oot/OOT/’ /etc/fstab
sed 's/^\//#/' /etc/fstab