如何将字符附加到bash中的现有行

时间:2016-05-16 14:18:43

标签: bash sed

我正在尝试使用bash实现以下功能:

创建一个名为“file”的文件,其中包含以下数据:

line1
line2
line3456

我想在“line2”之后添加其他字符,例如:

line1
line2 test123
line3456

我知道我可以使用sed替换整行(sed -i 's/line2/line2 test123/' file)。但我相信有更好的方法可以做到。

我打算修改一行中有多个单词的行,所以也许我也需要通配符。

2 个答案:

答案 0 :(得分:2)

sed 's/line2/& test123/' file

如果您要“就地”修改文件,请使用sed的选项-i

答案 1 :(得分:1)

使用&作为匹配模式的反向引用:

sed -i 's/word1 word2 word3/& test123/' file

这会将文字" test123"添加到其中包含word1 word2 word3文字的行中。