しらなかった。ショックである。
インストール
brew install rename
使い方
基本的なやつ
# 正規表現で、カレントディレクトリの全ファイル名置換
$ rename -s .jpg _pc.jpg *
# 置換正規表現をperlとかっぽい形で書いてもOK
$ rename 's/\.jpg/_pc\.jpg/' *
# カレントディレクトリのファイルの、.bakっていう拡張子をすべて葬り去る
$ rename -x *.bak
# つまりこれとおなじ
$ rename -s .bak '' *
置換条件はたくさん渡してもOK。
$ ls
1.foo 2.bar 3.baz
# こうやったら拡張子が一巡して面白いのでは、とおもったけど
$ rename -s foo bar -s bar baz -s baz foo *
# 結果はこうだった
$ ls
1.foo 2.foo 3.foo
# つまりたくさん渡した場合は、はじめのやつから順に処理される。
さっきから使っている-s
は、--subst
の略。
全部を置換したい場合は-S
/--subst-all
を使う。
$ ls
1.foo.foo.foo
# subst
$ rename -s .foo .baa *
$ ls
1.baa.foo.foo
# 今度はsubst-all
$ rename -S .foo .baa *
$ ls
1.baa.baa.baa