- 論壇徽章:
- 0
|
今天來(lái)寫(xiě)上次留下的一個(gè)尾巴,就是語(yǔ)法:
[addresss]s/pattern/replacement/flags 中的flags,
1 n,替換每個(gè)尋址行的第n個(gè)模式(/pattern/)。n是1到255之間的任意數(shù)字,默認(rèn)是1。
例,如果有這樣一個(gè)文件sed.word,內(nèi)容如下:
work work work
word wordless
workness worker
如果輸入命令如下
#sed s/work/word/ sed.word
那么將只匹配行的第一次出現(xiàn)(默認(rèn)n是1。R簿褪墙Y(jié)果會(huì)變成:
word work work
word wordless
wordness worker
或者你有這樣的應(yīng)用:要求匹配行的第二次出現(xiàn),輸入命令:
#sed s/work/word/2 sed.word
結(jié)果會(huì)變成:
work word work
word wordless
workness worder
如果每次出現(xiàn)都要匹配呢,那就用g吧
2 g,替代每個(gè)尋址行的所有/pattern/,而不只是第一個(gè)。
如命令:
#sed s/work/word/g sed.word
3 p,如果替換成功則打印該行。
#sed s/work/word/p sed.word
那我能不能這樣用呢?
#sed s/work/word/g/p sed.word
不行,但可以這樣:
#sed -e s/work/word/g -e p sed.word
4 w file,w和file之間有空格,如果發(fā)生一次替換則將這行寫(xiě)入file。
例,我執(zhí)行下面的命令:
#sed s/succeeded/succ/'w succ.sed' /var/log/messages
就會(huì)把成功啟動(dòng)的服務(wù)‘succeeded’改為‘succ’并都寫(xiě)入到succ.sed文件中!
注意:w file用單引號(hào)括起來(lái),否則會(huì)出問(wèn)題。
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u1/43931/showart_358533.html |
|