如何使用SED命令在模式匹配之前插入行

时间:2019-02-25 18:03:42

标签: linux unix sed

运行命令sed -i "/class MySQLPagedResultsajax/i Thing I Wish To Add;" /File/Location/

之后

我得到的结果如下:

Thing I Wish To Add;class MySQLPagedResultsajax 

我想实现这一目标:

Thing I Wish To Add;
class MySQLPagedResultsajax 

请帮助,因为我需要一个单行命令解决方案,因为这需要在多个文件上完成,而且我将使用Excel为每个文件创建单独的命令。

2 个答案:

答案 0 :(得分:0)

尝试一下:

sed -i '/class MySQLPagedResultsajax/s/^/Thing I Wish To Add;\n/'

或者在确定之前,请先尝试此操作,然后在控制台上检查输出:

sed -e '/class MySQLPagedResultsajax/s/^/Thing I Wish To Add;\n/'

s s ubstitute命令。
^表示行的开头。
\n换行符。

答案 1 :(得分:0)

除了简单的s / old / new之外,只需将awk用于其他任何事情即可

awk '/class MySQLPagedResultsajax/{print "Thing I Wish To Add;"} 1' file

添加-i inplace以使用GNU awk进行伪原位编辑,就像您可以通过添加- i来使用GNU sed进行伪原位编辑一样。