我有大約100個包含純文本的.txt文件。不知何故,一些數據已被破壞,需要找到/替換。我可以從終端快速搜索/替換多個.txt文件嗎?
我需要搜索字符' - '並用長破折號代替:' - '。
有沒有辦法用終端中的命令快速執行此操作?
在我的目錄中的.txt文件的名稱按順序編號:的1.txt,2.txt等
謝謝!
我有大約100個包含純文本的.txt文件。不知何故,一些數據已被破壞,需要找到/替換。我可以從終端快速搜索/替換多個.txt文件嗎?
我需要搜索字符' - '並用長破折號代替:' - '。
有沒有辦法用終端中的命令快速執行此操作?
在我的目錄中的.txt文件的名稱按順序編號:的1.txt,2.txt等
謝謝!
GNU sed
:
sed -i 's/--/—/g' *.txt
OSX BSD sed
:
您需要指定備份文件擴展名。要創建具有擴展名的備份文件:.txt.bak
:
sed -i '.bak' 's/--/—/g' *.txt
完全取代文件,指定一個空的擴展名:
sed -i '' 's/--/—/g' *.txt
sed -i 's/--/–/g' *.txt
應該工作。 -i
標誌爲sed
使其對原地文件起作用,s
代表替換,g
使它替換同一行上多次出現的模式。請查閱sed
的文檔以獲取更多信息。
編輯:這適用於GNU/Linux;事實證明,OSX的語法略有不同(請參閱註釋和接受的答案)。
可能的[複製](http://stackoverflow.com/q/ 8384809/148680) – chb 2012-08-10 03:52:05
Komodo Edit(http://www.activestate.com/komodo-edit)具有「查找/替換文件」功能。它是Mac,Windows和Linux的免費編輯器。 – jsherk 2013-04-04 20:38:29