サブフォルダのあるフォルダがあります。各フォルダ名から [ garbage.com ] を削除したいです。 ] の後のスペースを削除したいです。
現在
$ ls
[ garbage.com ] happy
[ garbage.com ] Sad
[ garbage.com ] confused
dog
cat
rat
.....
スクリプト後
$ ls
happy
Sad
confused
dog
cat
rat
find コマンドを試しましたが、[] とスペースが邪魔をしてうまくいきません。
答え1
次のことを試してください。
rename "s/\[\ garbage\.com\ \]\ //" -n *
-n オプションは、計画された変更のみを出力します。実際にディレクトリの名前を変更するには、-n を削除します。これにより、ディレクトリだけでなくファイルの名前も変更されることに注意してください。
ディレクトリの名前のみを変更するには、次のようにします。
find . -type d -exec rename -n "s/\[\ garbage\.com\ \]\ //" {} ";"