1

我知道替换命令

sed -i 's/First/Second/' testFile

将字符串“First”替换为“Second”。

但是给定如下所示的输入,

文件.txt

第一个“此行将被删除”。

我希望输出是这样的:

输出文件.txt

第一个“要添加的新字符串”。

即“第一”不应该被替换。

我如何实现这个期望的输出?

4

1 回答 1

2

您可以指定替换命令的地址:

sed -i '/First/s/This line is to be deleted/New string to be added/' testFile

编辑:对于可变模式字符串:

sed -i 's/First \(.*\)/First "New string to be added"/' testFile
于 2013-07-03T10:36:13.473 回答