0
我想在幾個文件中遍歷目錄(Linux機器),找到並用「bra」替換字符串「foo」。如果一個字符串被替換爲文件「example.txt」,我需要在替換字符串之前將該文件複製到「example.text.old」。以遞歸方式查找並替換文件中的字符串,爲受影響的文件創建備份
我可以替換字符串的文件遞歸這樣的:
find . -type f -name '*' -exec sed -i 's/test1/test2/g' {} +
,它工作正常,但沒有備份,當事情不工作。
另外,我偶然發現了這個perl腳本可行,儘管我更習慣使用本地unix命令。
# perl -e "s/old_string/new_string/g;" -pi.save $(find DirectoryName -type f)
然而,這本備份ALL文件,這是不是我想要的。
需要注意的是,該腳本從它所在的目錄運行,並且所有子目錄 – LaughingMan
unix stackexchange上的類似問題:http://unix.stackexchange.com/a/295696/109046 – Sundeep