拡張子に応じてファイル名を小文字に変換するスクリプト

拡張子に応じてファイル名を小文字に変換するスクリプト

拡張子に応じてファイル名を小文字に変換するスクリプト

答え1

複数の拡張に対してこの操作を繰り返し実行するには、zshのzmvを使用できます。

zsh -c '
   autoload zmv
   ext=(jpg mp3 ogg)
   zmv -n "(**/)(*.(#i)(${(j:|:)ext}))" "\$1\${(L)2}"'

(満足したら削除-n(または交換))。-v

上記のコマンドは、大文字と小文字を区別しないワイルドカードを有効にし、リスト内の要素を結合する(#i)ために使用されます。${(j:|:)ext}次のように自分で書くこともできます。$ext|

zsh -c '
   autoload zmv
   zmv -n "(**/)(*.(#i)(ogg|jpg|mp3))" "\$1\${(L)2}"'

答え2

あなたの質問がコードにどのようにつながるのか分からないので、これに焦点を当てます。

bashバージョン4以降では、次の方法を使用してこれを実行できます。

for file in ./*.JPG; do     # Iterate over all items in the current directory that match *.JPG
    mv "$file" "${file,,}"  # Move the file found to a lowercase mapping (this is what the ,, parameter expansion method does)
done

明らかに*.JPG、あなたが望むものと同等の拡張に置き換えてください。

関連情報