Edited at

Mac で rename コマンド(ファイル名一括変換)

More than 3 years have passed since last update.

Mac には Linux の rename コマンドがありません。Homebrew に似たのがあるので、入れてみます。(名前は同じですが別物のようです。)

brew install rename


使い方

foo を bar に、hello を ciao に変える場合はこんな感じです。

rename -s foo bar -s hello ciao *

正規表現で置換。

rename 's/\.htm$/.html/' *.htm

もちろん後方参照も使えます。

rename 's/img-(\d*).jpg/foo-$1-bar.jpg/' *

ディレクトリ内のファイルを再帰的に改名するには find と組み合わせて使います。Mac に標準で入っているの bash の glob の '*' は深いディレクトリ階層にマッチしないためです。

find . -name "*foo*" | xargs rename -s foo bar

ドキュメントは以下です。

http://plasmasturm.org/code/rename/