Sed

使用 find 和 sed 替換多個文件中的字元串

  • November 17, 2016

所以我得出的結論是,為了遞歸替換目錄中字元串的所有實例(僅適用於 .java 擴展文件),我需要使用

find . -type f -name "*.java" -exec sed -i 's/original/result/g' {} +

但是,如果我要替換的字元串包含我該怎麼辦/

例如,我想/*Comment*/用幾個普通單詞替換字元串,我應該使用什麼分隔符,以便 sed 正常工作?

轉義斜線,寫\/ 你也可以這樣做:

perl -pi -e 's!original!result!g' *java

!用作分隔符而/不是. 這比使用 find & sed 短一點。

您也可以使用任何分隔符sed(不僅perl像@vesa-karjalainen 建議的那樣),例如

find . -type f -name "*.java" -exec sed -i 's:original:result:g' {} +

引用自:https://unix.stackexchange.com/questions/324118