画像アップロード時に jpeg ファイルだったら Exif 情報(撮影時の位置情報など)を削除するというのは一般的になりましたが、サーバ上にアップされた後のファイルから一括で削除したい場合はコマンドラインが楽です。
今回はコマンドラインで画像の Exif やサイズ圧縮してくれるコマンドを紹介します。
利用するコマンド
有名なものに「jhead」がありますが、Amazon Linux には yum でインストールできそうなパッケージが見付からなかったのでソースからインストールします。
1 2 3 4 5 6 7 8 | $ cd /usr/local/src $ wget http://www.sentex.net/~mwandel/jhead/jhead-3.00.tar.gz $ tar zxvf jhead-3.00.tar.gz $ cd jhead-3.00 $ make $ make install $ which jhead /usr/local/bin/jhead |
jheadコマンドの使い方
使い方は -h でヘルプを見てもらった方が早いですが、画像のヘッダ情報を参照するのは jhead コマンドで jpg ファイルを参照するだけです。また、-v オプションを付けるとさらに詳細な情報が確認できます。
1 2 | $ jhead hogehoge.jpg $ jhead -v hogehoge.jpg |
この Exif 情報を削除するには jhead の -purejpg オプションを使って実行するだけです。
1 | $ jhead -purejpg hogehoge.jpg |
find コマンドなどと組み合わせれば、一括でサクっと削除できちゃいます。カレントディレクトリ以下ならこんな感じ。
1 | $ find . -name '*.jpg' -print | xargs jhead -purejpg |