sed
与这样的文件一起使用时
sed 's/a/o' fruits
它向终端提供必要的输出,但不会更改文件中的内容。如何使用上述替换永久更改文件?
答案1
使用该-i
参数永久更改文件。
答案2
一般来说,你不应该这样做。 GNU coreutils 和其他一些版本添加了-i
就地编辑的选项,但它有不同的实现并且不可移植。文件不是流,因此sed
应避免使用它们进行编辑。该-i
选项还会sed
破坏任何符号链接,因为它实际上会删除它并重新创建文件。使用ed
或ex
来获得更明智的选择。
ex -s file << EOF
s/a/o/
w
EOF
答案3
从 sed 的手册页:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)