我想用“jakarta”遞回地(在專案目錄中)替換“javax”這個詞。這適用于以“java”結尾的檔案:
find . -name '*.java' | xargs sed -i 's/javax/jakarta/g'
我也需要對 XML 檔案做同樣的事情。要使用單個命令,我嘗試修改 find 運算式,如下所示:
find . -regex '^.*\.(java|xml)$'
但是,找不到檔案。我也嘗試過:
find . -regex '.*/^.*\.(java|xml)$'
但還是一無所獲。你能幫我重寫查找器運算式以使用多個檔案后綴嗎?謝謝
uj5u.com熱心網友回復:
您仍然可以使用-name多次來匹配多個模式:
find . \( -name '*.java' -o -name '*.xml' \) -print0 |
xargs -0 sed -i 's/javax/jakarta/g'
如果你想使用,-regex那么你還應該使用-regexrtype擴展正則運算式匹配的選項:
find . -regextype awk -regex '. \.(java|xml)$' -print0 |
xargs -0 sed -i 's/javax/jakarta/g'
注意-print0和xargs -0選項來處理帶有特殊字符的檔案名。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/509831.html
標籤:正则表达式重击寻找
上一篇:在AlpineLinuxDockerImage上,我得到`nvm:commandnotfound`
下一篇:檢測空的json值
