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

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

從Bash命令查找和替換文本文件

從Bash命令查找和替換文本文件

從Bash命令查找和替換文本文件對于給定的輸入字符串進行查找和替換的最簡單方法是什么,比方說abc,并替換為另一個字符串,比如XYZ在文件中/tmp/file.txt?我正在編寫一個應用程序并使用IronPython通過SSH執行命令 - 但我不熟悉Unix,也不知道要查找什么。我聽說Bash除了是命令行界面外,還可以是一種非常強大的腳本語言。所以,如果這是真的,我假設您可以執行這些操作。我能用bash做什么,以及實現目標的最簡單(一行)腳本是什么?
查看完整描述

3 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

最簡單的方法是使用sed(或perl):

sed -i -e 's/abc/XYZ/g' /tmp/file.txt

由于該-i選項,將調用sed進行就地編輯。這可以從bash調用。

如果你真的真的想使用bash,那么以下內容可以工作:

while read a ; do echo ${a//abc/XYZ} ; done < /tmp/file.txt > /tmp/file.txt.t ; mv /tmp/file.txt{.t,}

這循環遍歷每一行,進行替換,并寫入臨時文件(不想破壞輸入)。最后的移動只是臨時移動到原始名稱。


查看完整回答
反對 回復 2019-08-06
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

文件操作通常不是由Bash完成的,而是由Bash調用的程序完成的,例如:

> perl -pi -e 's/abc/XYZ/g' /tmp/file.txt

-i標志告訴它進行就地替換。

有關man perlrun詳細信息,請參閱參考資料,包括如何備份原始文件。


查看完整回答
反對 回復 2019-08-06
  • 3 回答
  • 0 關注
  • 1426 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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