簡體   English   中英

有沒有辦法在linux的conf文件中將文本添加到字符串的末尾?

[英]Is there a way to add text to the end of a string in a conf file in linux?

我有一個問題:我有一個文件,如果我知道如何,我想從命令中進行編輯。 我想通過該行的內容定位文件。

我在 Cyber​​Patriot,我的團隊在我所在的州排名第二。 我認識一個在第一隊的人,我認識一個在第一隊的人。 它殺死了我,所以我想列出一個我可以執行的命令列表,以使其更快、更高效。

想象一下我有這個文件:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM