![](/img/trans.png)
[英]How to add text at the end of a line containing a string with a pattern in a text file?
[英]Is there a way to add text to the end of a string in a conf file in linux?
我有一個問題:我有一個文件,如果我知道如何,我想從命令中進行編輯。 我想通過該行的內容定位文件。
我在 CyberPatriot,我的團隊在我所在的州排名第二。 我認識一個在第一隊的人,我認識一個在第一隊的人。 它殺死了我,所以我想列出一個我可以執行的命令列表,以使其更快、更高效。
想象一下我有這個文件:
example
oof
goo
random
yes
我想把它改成這樣:
example
oof
goo
random 'added text'
yes
我該怎么做? 我知道我可以使用echo
命令將文本添加到文件的末尾,但我不知道如何將文本添加到特定行的末尾。
謝謝,歐文
為此,您可以使用 sed。
sed 's/random/& Hello World/' file
將文本附加到匹配的字符串。
在追加之前,您可以使用^random$
來確保整行匹配。
如果需要直接修改文件,可以使用-i
標志,方便就地編輯。 此外,使用-i.bak
在修改它之前首先創建原始文件的備份,如
sed -i.bak 's/random/& Hello World/' file
文件的原始副本可以在file.bak
找到
有關sed
更多信息: https : //www.gnu.org/software/sed/manual/sed.html
使用類似下面的東西
sed '4!d' file | xargs -I{} sed -i "4s/{}/{} \'added text\'/" file
基本上在上面的命令中,我們使用 sed sed '4!d' file
獲取文件的第 4 行,然后使用此行將其替換為相同的文本和一些新文本( added text
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.