2017/10/12

zmv を使ってまとめてファイルを rename する

zsh には zmv という機能があって、glob で指定した部分を置換できます。
例えば *.jpg というファイル群をまとめて *.jpeg に変換できます。

仮に以下のようなファイル群があったとして

  • ls

bar.jpg foo.jpg fuga.jpg hoge.jpg piyo.jpg
  • zmv -w  '*.jpg' '*.jpeg'
すると以下のようになります。
  • ls
bar.jpeg foo.jpeg fuga.jpeg hoge.jpeg piyo.jpeg
便利。zmv を使うには .zshrc に
autoload -Uz zmv
と書く必要があります。

ちなみに dry-run option も存在していて、 -n で dry-run ができます。
  • zmv -n -w  '*.jpg' '$1.jpeg'
mv -- bar.jpg bar.jpeg
mv -- foo.jpg foo.jpeg
mv -- fuga.jpg fuga.jpeg
mv -- hoge.jpg hoge.jpeg
mv -- piyo.jpg piyo.jpeg

以上、ちょっとした小技 zmv でした。-w とか -W は help を読んでみてね。
man zshall とかを読んでも良いかも。


環境

  • zsh: 5.4.2 (x86_64-apple-darwin16.7.0)

0 件のコメント:

コメントを投稿