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)