0
我正在編寫一個bash腳本,用於將現有目錄複製到另一個目錄中,並在那裏修改所有包含舊目錄名稱的文件名,以替換新名稱。使用bash替換目錄中的文件名
我使用這個命令,它工作正常
find . -depth -name '*foo*' -execdir bash -c 'for f; do mv -i "$f" "${f//foo/bar}"; done' bash {} +
不過,我必須爲幾個目標目錄做到這一點,我想在上面命令的「欄」字符串包含成變量,所以我可以在循環中更改變量的內容(迭代數組)並複製並批量替換這些文件。
我應該對命令做些什麼改變?我試過以下,但它不工作
app="Workflow2";
strChange="f//Workflow1/"${app};
find . -depth -name '*Workflow1*' -execdir bash -c 'for f; do mv -i "$f" "${strChange}"; done' bash {} +