topdir
または同じサブフォルダを含むフォルダがあります%foo
。%bar
foobar
%foo
で名前を変更できるように、最初の文字の%記号を削除する必要がありますfoo
。再帰的に名前を変更する必要はなく、topdir
その中にあるフォルダだけを名前変更するだけです。
これはどのように達成できますか?
答え1
ディレクトリに移動し、各ディレクトリの名前を順番に変更します。ただし、対象がまだ存在しない場合にのみ該当します。
cd topdir &&
for src in %*
do
dst="${src#%}"
[ -d "$src" ] && [ ! -e "$dst" ] && mv -- "$src" "$dst"
done