JAN / Jan / FEB / Feb / MAR / Mar /などのサブフォルダーを含む複数のフォルダーがあります。すべてのファイルをJAN / *からJan /に、FEB / *からFeb /に移動する必要があります。シェルスクリプトを使用してこれを達成するにはどうすればよいですか?
編集する
正しい方向を教えてくれた@Costasに感謝します。彼の解決策はBash 4以降で動作します。私はv3を持っているのでこれを使うようになりました。
for DIR in [A-Z][A-Z]*/
do
NEWDIR=`echo "$(echo "$DIR" | sed 's/.*/\L&/; s/[a-z]*/\u&/g')"`
mv $DIR/* $NEWDIR
done
sedスクリプトから取得ここ。
ベストアンサー1
最新の場合bash
(大文字と小文字の変更をサポート):
for dir in [A-Z][a-z]*/
do
mv -t "$dir" ${dir^^}/*
done
サポートされていないバージョンでtr
はsed
...を代わりに使用して自由に変換できます。