亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在OS X上使用sed進行就地編輯

在OS X上使用sed進行就地編輯

我想在OS X上使用sed編輯文件。我使用以下命令:sed 's/oldword/newword/' file.txt輸出發送到終端。 file.txt未修改。使用以下命令將更改保存到file2.txt:sed 's/oldword/newword/' file1.txt > file2.txt但是我不想要另一個文件。我只想編輯file1.txt。我怎樣才能做到這一點?我已經嘗試過-i標志。這將導致以下錯誤:sed: 1: "file1.txt": invalid command code f
查看完整描述

4 回答

?
慕萊塢4276893

TA貢獻2條經驗 獲得超0個贊

直接使用vim進行編輯,也能實現同樣的效果,可以直接保存在原始文件

查看完整回答
反對 回復 2019-12-14
?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

您可以通過為-i標志提供后綴以將其添加到備份文件中來正確使用該標志。擴展您的示例:


sed -i.bu 's/oldword/newword/' file1.txt

將給您兩個文件:一個文件名file1.txt包含替換內容,另一個文件名包含file1.txt.bu原始內容。


輕度危險


如果要破壞性地覆蓋原始文件,請使用以下方法:


sed -i '' 's/oldword/newword/' file1.txt

      ^ note the space

由于行的解析方式不同,因此選項標記與其參數之間需要有一個空格,因為參數的長度為零。


除了可能破壞您的原件外,我不知道以這種方式欺騙sed的任何其他危險。但是,應注意,如果此調用sed是腳本的一部分,則Unix Way?(IMHO)將被sed無損使用,測試它是否干凈退出,然后才刪除無關的文件。


查看完整回答
反對 回復 2019-11-08
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

我對MacOS也有類似的問題


sed -i '' 's/oldword/newword/' file1.txt

不起作用,但是


sed -i"any_symbol" 's/oldword/newword/' file1.txt

效果很好。


查看完整回答
反對 回復 2019-11-08
  • 4 回答
  • 0 關注
  • 722 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號