2016-04-29 209 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 
相关问题