ファイル拡張子をクリーンアップするにはどうすればよいですか?

ファイル拡張子をクリーンアップするにはどうすればよいですか?

.MP3ファイルを含むディレクトリがあり、そのファイルの拡張子を.mp3に変更したいと思います。これを行う最も簡単な方法は何ですか?私の考えでは、おおよそ次のようになります。

find /RootPath -type f -iname "*.mp3" -exec mv {} sed s/.*MP3/\1.mp3/ \; 

…その言葉が正しくないことを私も知っているが。 :) 置換が間違っています。でamvコマンドとaコマンドを使用する方法がわかりませんsed-execfind

Bashスクリプトが必要ですか?

ベストアンサー1

Bashでこれを行う1つの方法は次のとおりです。

for i in *; do [ "${i/%MP3/mp3}" != "$i" ] && echo "$i" "${i/%MP3/mp3}"; done

ここで使用するコマンドは、echoファイル名のペアを印刷する以外には何も行いません。そのリストが必要な変更を示している場合は、それに似たものに変更でき、echoファイルmv -i --は移動されます(上書きする前にメッセージが表示されます)。

簡単な説明:

for一致するすべてのファイルを繰り返します*。その後、拡張子がすでに小文字であることを確認し、その場合は続行し、そうでない場合は移動し続けます(または場合によってはエコーします)。これはBashの組み込み文字列操作を使用し、ここで読むことができます。http://tldp.org/LDP/abs/html/string-manipulation.html

おすすめ記事