当第一行与sed匹配时,在文件的顶部和其他位置插入一行

时间:2018-05-19 17:09:57

标签: awk sed

当第一行与带有sed的字符串匹配时,我想在文件的顶部和其他位置插入一行。我尝试了下面这一行没有成功和变化。它插入第一行但不是最后一行:

file.txt的

REMARK
Blah
Blah
blah

桑达:

sed -e '1!b;/REMARK/i MODEL 1' -e '$ a ENDMODEL ' file.txt

由于 马里奥

2 个答案:

答案 0 :(得分:0)

您可以尝试关注ServiceException并告诉我这是否对您有所帮助。以下将在第一行匹配后插入字符串awk,其中包含字符串MODEL。在最后一行读取后插入字符串REMARK

ENDMODEL

如果您需要更改Input_file本身,请将awk 'FNR==1 && $0=="REMARKS"{print $0 ORS "MODEL";next} 1; END{print "ENDMODEL"}' Input_file 附加到上面的命令。

编辑: OP表示只有在找到第一行匹配时才会添加最后一行,然后可能会有所帮助。

> temp_file && mv temp_file Input_file

答案 1 :(得分:0)

有了sed,好像你得到了gnu sed。

sed -i -e '1{/REMARK/{i MODEL' -e ':A;$a ENDMODEL' -e 'n;bA}}' file.txt