Sed命令不会将替换字保存在文件中

时间:2013-08-16 11:11:49

标签: unix sed

我有一个名为 sara 的文件,并在此文件中。我在某处有UNIX这个词,我想用linux替换它。

sed 's/UNIX/linux/' sara

但它只通过此更改回应所有内容,但在我使用编辑器输入时不会将其保存在文件sara中。

2 个答案:

答案 0 :(得分:4)

要更新文件,您需要添加-i

sed -i 's/UNIX/linux/' sara

测试

$ cat a
hello UNIX how are you?
I am pretty fine, UNIX
Great.

如果没有-i,替换就会被取消,但文件不会更改:

$ sed 's/UNIX/Sara/' a
hello Sara how are you?
I am pretty fine, Sara
Great.
$ cat a
hello UNIX how are you?
I am pretty fine, UNIX
Great.

使用-i它是另一种方式,文件替换没有输出:

$ sed -i 's/UNIX/Sara/' a
$ cat a
hello Sara how are you?
I am pretty fine, Sara
Great.

答案 1 :(得分:1)

要使其正常工作,您必须添加-i以进行更新