sed厕隧,以行為單位進行處理既琴,可以直接將文件的內(nèi)容進行增刪改查等操作
格式:sed? ? [選項]? ? 參數(shù)? ? 文件
-r? ? 支持正則表達式
-i? ? 直接修改文件內(nèi)容
-n? ? 只打印匹配的行
a? ? 在當前行下面插入內(nèi)容
i? ? 在當前行上面插入內(nèi)容(直接修改,原文件也會修改)
c? ? 把選定行改為新的文本(替換所在那行)
p? ? 打印行(一般與-n一起使用,屏蔽默認輸出,否則會出現(xiàn)兩行內(nèi)容)
s? ??替換指定字符
第一部分:
sed -n '3,6p' passwd? ? #打印3-6行
sed -i 'd' passwd ???? #刪除所有內(nèi)容行
sed -i '1,4d' passwd????????#刪除1-4行
sed -n '1p;4p' passwd? ? #打印第1和第4行
sed -n '3,+10p' passwd? ? #打印第3行以及后面10行
sed -n '1~2p' passwd? ? #打印奇數(shù)行
sed -n '2~2p' passwd? ? #打印偶數(shù)行
sed -n '/root/p' passwd? ? #打印包含root的行
sed -n '/bash$/p' passwd? ? #打印bash結尾的行
sed -n '/^root/p'? passwd? ? ?#輸出以root開頭的行
sed -n '$=' passwd? ? ? ? #輸出文件總行數(shù)
sed -n '2,6d' passwd? ? #刪除2-6行
sed '/xml/d' passwd? ? #刪除所有包含xml的行
sed '/xml/!d' passwd? ? #刪除所有不包含xml的行,!取反
sed '$d'? passwd? ? #刪除最后一行
sed '/^install/d'? passwd? ? #刪除install開頭的行
sed '/^$/d'? passwd? ? #刪除所以空行
第二部分:
sed 's/ww/web/' test.txt? ? #每行中第一個ww改成web
sed 's/ww/web/g' test.txt? ? #將所有的ww改成web
sed 's/ww/web/3' test.txt? ? ?#每行中第三個ww改成web
sed 's/xml//g'?test.txt? ? #將所有的xml都刪除(換成空)
sed 's#/bin/bash#/sbin/sh#g' passwd? ? #包含/的替換,可以把格式換成#
sed '1,7s/^/#/'? passwd? #第1~7行注釋掉
sed 's/^#//g'? ? passwd? ? #將所有注釋去掉