sed 命令不会将替换的单词保存在文件中

shm*_*nsw 1 unix sed

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

sed 's/UNIX/linux/' sara
Run Code Online (Sandbox Code Playgroud)

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

fed*_*qui 5

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

sed -i 's/UNIX/linux/' sara
Run Code Online (Sandbox Code Playgroud)

测试

$ cat a
hello UNIX how are you?
I am pretty fine, UNIX
Great.
Run Code Online (Sandbox Code Playgroud)

-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.
Run Code Online (Sandbox Code Playgroud)

与之-i相反,文件替换后没有输出:

$ sed -i 's/UNIX/Sara/' a
$ cat a
hello Sara how are you?
I am pretty fine, Sara
Great.
Run Code Online (Sandbox Code Playgroud)

  • 举例说明,不错!+1 (2认同)