UNIX
brew

renameっていうコマンドあった

More than 3 years have passed since last update.

しらなかった。ショックである。


インストール

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


関連記事


参考