Ubuntu 中的 Sed 命令不起作用

Ubuntu 中的 Sed 命令不起作用

每当我在 ubuntu 中使用sed命令时,输出都不会反映在文件中。

sed 's/dog/cat/' me

dog hates rat在文件cat hates rat中不会发生变化me

答案1

默认情况下,sed不会编辑输入文件,它只在 STDOUT 上显示输出。

要就地编辑文件,您需要-i以下选项sed

sed -i.bak 's/dog/cat/' file.txt

操作完成后原文件将备份为file.txt.bak,修改后的文件将备份为file.txt

就你的情况而言:

sed -i.bak 's/dog/cat/' me

如果您不想保留备份:

sed -i 's/dog/cat/' file.txt

man sed

-i[后缀], --in-place[=后缀]

就地编辑文件(如果提供了后缀则进行备份)

相关内容