有没有办法在 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 '4!d' file | xargs -I{} sed -i "4s/{}/{} \'added text\'/" file

基本上在上面的命令中,我们使用 sed sed '4!d' file 获取文件的第 4 行,然后使用这一行将其替换为相同的文本和一些新文本 (added text)

您可以为此使用 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