簡體   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