Sed
使用 find 和 sed 替換多個文件中的字元串
所以我得出的結論是,為了遞歸替換目錄中字元串的所有實例(僅適用於 .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' {} +