我有一个问题:我有一个文件,如果我知道怎么做,我想从命令中进行编辑。我想按该行上的内容找到文件。
我在CyberPatriot中,而我的团队在我的州中排名第二。我认识一个在第一阵容中的人,我也认识一个在一队中的人。它使我丧命,所以我想列出一个命令列表,使它变得更快,更有效。
想象一下我有这个文件:
example
oof
goo
random
yes
我想将其更改为此:
example
oof
goo
random 'added text'
yes
我该怎么做?
我知道我可以使用echo
命令将文本添加到文件的末尾,但是我不知道如何将文本添加到特定行的末尾。
谢谢欧文
答案 0 :(得分:1)
您可以将sed用于此目的。
sed 's/random/& Hello World/' file
将文本追加到匹配的字符串。
在添加之前,您可以使用^random$
确保整个行都匹配。
如果需要直接修改文件,则可以使用-i
标志,以方便就地编辑。此外,使用-i.bak
首先创建原始文件的备份,然后再对其进行修改,如
sed -i.bak 's/random/& Hello World/' file
文件的原始副本可以在file.bak
答案 1 :(得分:0)
使用类似下面的内容
sed '4!d' file | xargs -I{} sed -i "4s/{}/{} \'added text\'/" file
基本上在上述命令中,我们使用sed sed '4!d' file
获取文件的第四行,然后使用此行将其替换为相同的文本和一些新的文本(added text
)>