簡體   English   中英

Bash-在目錄及其目錄中找到幾個特定的​​文件夾,然后重命名這些特定的文件夾

[英]Bash - Find several specific folders in a directory and its sbdirectories and rename these specific folders

我剛開始學習Bash。 我想做一個腳本來查找目錄及其子目錄中的某些特定文件夾,如果存在,請將其重命名為我們找到它的相同文件夾。 相同的特定文件夾可以位於某些子目錄中。

我用這個:

file=`find . -name a`
if [ -d $file ]
then
rename 's/a/b/' $file
fi

但是不行。 反正有這個過程嗎?

謝謝。

最后,我解決了這個問題:

find . -name "a" -type d -execdir rename 's/a/b/' {} \; &>/dev/null

您可以使用oneliner做到這一點:

find . -name "a" -type d -execdir rename 's/a/b/' {} \\;

要命名的參數可能是正則表達式。 使用-type d ,它將找到所有目錄。 -execdir切換到匹配項的目錄,然后執行rename命令,將當前項的文件名作為參數( {} )傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM