ファイル名や拡張子を一括で変更したい
 Author: 水卜

フォルダの中にあるcsvファイル(.csv)を一括でエクセルファイル(.xslx)にしたり、電子書籍ファイル(.cbz)をzipにしたり(.zip)する方法を解説します。
一括リネーム処理です。

例えばcbzファイルをzipに変換したい時。
cbzファイルは電子書籍などで扱われるファイル形式です。
しかしその実態は、画像ファイルをzipしただけ。
zipにして解凍して画像フォルダにしてやったほうが見やすいこともあります。

そんな時はbashで以下のように叩きます。

for item in *.cbz; do mv "$item" "${item%.cbz}.zip"; done

csvファイルをExcelにしたい時はこう。

for item in *.xlsx; do mv "$item" "${item%.csv}.xlsx"; done

一応解説します。

for item in *.cbz; do
done

フォルダ内にある.cbzで名前が終わるファイルをループで順番に取り出しています。
各ファイルにはループの中で$itemとして扱うことができます。

ループの中でやっているのはこれ

mv "$item" "${item%.cbz}.zip";

${item%.cbz}と書くと、ファイル名から.cbzを除いた部分が取れます。
それにzipをくっつけています。