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)

相關內容