当第一行与带有sed的字符串匹配时,我想在文件的顶部和其他位置插入一行。我尝试了下面这一行没有成功和变化。它插入第一行但不是最后一行:
file.txt的
REMARK
Blah
Blah
blah
桑达:
sed -e '1!b;/REMARK/i MODEL 1' -e '$ a ENDMODEL ' file.txt
由于 马里奥
答案 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