sed 是否写入文件或提供示例输出

sed 是否写入文件或提供示例输出

sed与这样的文件一起使用时

sed 's/a/o' fruits

它向终端提供必要的输出,但不会更改文件中的内容。如何使用上述替换永久更改文件?

答案1

使用该-i参数永久更改文件。

答案2

一般来说,你不应该这样做。 GNU coreutils 和其他一些版本添加了-i就地编辑的选项,但它有不同的实现并且不可移植。文件不是流,因此sed应避免使用它们进行编辑。该-i选项还会sed破坏任何符号链接,因为它实际上会删除它并重新创建文件。使用edex来获得更明智的选择。

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)

相关内容