有没有一种方法可以在Linux的conf文件中的字符串末尾添加文本?

时间:2020-01-03 03:40:14

标签: shell ubuntu terminal echo ubuntu-16.04

我有一个问题:我有一个文件,如果我知道怎么做,我想从命令中进行编辑。我想按该行上的内容找到文件。

我在Cyber​​Patriot中,而我的团队在我的州中排名第二。我认识一个在第一阵容中的人,我也认识一个在一队中的人。它使我丧命,所以我想列出一个命令列表,使它变得更快,更有效。

想象一下我有这个文件:

example
oof
goo
random
yes

我想将其更改为此:

example
oof
goo
random 'added text'
yes

我该怎么做? 我知道我可以使用echo命令将文本添加到文件的末尾,但是我不知道如何将文本添加到特定行的末尾。

谢谢欧文

2 个答案:

答案 0 :(得分:1)

您可以将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

答案 1 :(得分:0)

使用类似下面的内容

sed '4!d' file | xargs -I{} sed -i "4s/{}/{} \'added text\'/" file

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

相关问题