memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

macでファイルを一括で変名する(renameコマンド)

いろいろソフトがあるようですがGUIを起動するのは面倒です。Linuxにはrenameコマンドがあるのですね。brewでいれてみました。(brewが入っていない人は→こちら

インストールはいつものbrew installコマンドで。

brew install rename

使い方はmanで確認。機能がたくさんあるようですが。manによると-sがいいようです。

rename -s .bak '' *.bak

-sの次の.bakは置換前の部分文字列、''(←シングルクオーテーションが2つ)は置換後の部分文字列でここでは空文字列を意味していて、最後の*.bakはrenameコマンドの実行対象のファイルで、ここではファイル名が.bakで終わるファイル全てに対してrenameすることを表しています。ここを*.bakではなく*にするとカレントディレクトリにあるすべてのファイルが対象になります。

例えば、カレントディレクトリ内に1.bak、2.bak、3.bakがあったとして、上記のコマンドを実行すると一括変名されて1、2、3になります。

僕の用例としては、画像ファイルのサムネイル画像に別名をつけたい。。。というのがはじまりでした。

例えば、カレントディレクトリに以下の3つのファイルが入っているとします。

  • IMG_0915.jpg
  • IMG_0916.jpg
  • IMG_0917.jpg

ここでファイル名に_(←アンダースコアー)をつけたいとします。そこでrenameコマンドは以下のようになります。便利ですねー。

rename -s .jpg _.jpg *.jpg

実行すると以下のようになります。くどいですね。。。

  • IMG_0915_.jpg
  • IMG_0916_.jpg
  • IMG_0917_.jpg

ちなみに、ターミナルで画像ファイルを縮小するコマンドがあるんですね。これも便利。気になる方は以下を参照ください。

Link: OS XのTerminalコマンドで大量の画像を一括リサイズ!