繁体   English   中英

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

[英]How To Use SED Command To Insert A Line Before A Pattern Match

运行命令后sed -i "/class MySQLPagedResultsajax/i Thing I Wish To Add;" /File/Location/ 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 为每个文件创建单独的命令。

尝试这个:

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

或者在你确定之前,先试试这个并检查控制台上的输出:

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

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

只需将 awk 用于简单的 s/old/new 以外的任何内容:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM