2013-07-03 76 views
1

我知道替换命令使用sed命令,替换行,但不能匹配模式

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

将替换字符串“第一”与“第二”。

但考虑的输入,如下所示,

Infile.txt

第一 “这一行是要被删除”。

我所要的输出是这样的: “要添加新的字符串”

Outfile.txt

第一

即不应该替换“第一”。

我该如何达到这个期望的输出?

回答

2

您可以specify the address用于替换命令:

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 
+0

字符串“这条线路是要被删除”可以根据我的应用程序而改变。 – Mann

+0

@Mann所以你只想在'First'之后替换所有的东西? –

+0

我无法将它用作匹配模式。对于我的情况,我想使用“第一”作为PATTERN来匹配 – Mann