mogrify、awkコマンドで画像を一括編集

画像の後処理で画像サイズを変えたりするのはファイルがたくさんあるとうんざりする作業だ。そこでディレクトリーにあるファイルを全部一発で変換でるコマンドがmogrifyだ。 

例えば.jpgファイル全部を一斉に50%に縮小するには 

cd 作業ディレクトリーして

mogrify -resize 50% *.jpg

mogrifyはimagemagicパッケージの一つのコマンドなので、imagemagicを先にインストールしておく。

このコマンドはファイルを指定通りに作り直してしまうので、実行前には2,3個試しにやってみてから一斉に実行したほうが安全だ。またオリジナルのファイル全体はバックアップしておいた方がよいだろう。いつオリジナルファイルに戻って処理するかもしれない。

imagemagicには画像処理関係のコマンドが一通り用意されている。よく使われmogrifyと似ているのがconvertコマンドだ:

convert rose.jpg -resize 50% rose.png
これでrose.jpgの画像サイズを50%にしてjpgからpngに画像フォーマットを変更している。
またファイル名を一括renameしたりするにはawkコマンドが便利だ。
ls | awk '{ printf "mv %s image-%04d.jpg\n". $0, NR}' | sh
上の例は一つのディレクトリーに画像ファイルを集めておき、全画像をlsの表示順にimage-0001.jpgから順番にrenameする例だ。

コメント

このブログの人気の投稿

feh 軽くてコマンドラインで起動するイメージ・ビュワー/スライドショー Xウィンドウ用linux

lmms, blender、フォントが小さい。小さいフォントはルーペで解決