2016-04-29 61 views
0

遇到一些麻煩sed的輸出什麼,我想:SED匹配字符串的第一次出現,追加文件內容

我有我的文件內容(的idMap):

idmap config .... 

idmap config .... 

文件被寫入(測試)

[global] 

[global] 

我用下面sed命令: -

sed '/\[global\]/ r idmap' /tmp/testing 

命令按預期工作和所有[global]標籤相匹配,並且插入的[global]所有出現後的文字:我嘗試以下方法僅匹配的[global]

sed '0,\[global\]/ r idmap' /tmp/testing 

中第一次出現

[global] 

idmap config .... 

idmap config .... 

[global] 

idmap config .... 

idmap config .... 

然後產生:

idmap config .... 

idmap config .... 

idmap config .... 

idmap config .... 

[global] 

idmap config .... 

idmap config .... 

[global] 

是怎麼回事上的任何解釋將是非常讚賞,awk也可以爲我工作,以及如何獲得所需的輸出具體做法是:

[global] 

idmap config .... 

[global] 

idmap config .... 

運行在CentOS 7.1的bash。

回答

0
awk 'FNR==NR{a=a"\n"$0;next} /^\[global\]/&& !f{$1=$1""a;f=1};1' idmapfile testingfile 
相關問題