exiftoolでファイル名とカラム表示したい
ls -alt 的な感じでexiftools で写真のEXIFデータを見たい
-T
でカラム表示
exiftool -T
にすると、カラム(タブ区切り)で表示できる
ファイル名を表示したい
exiftool -filename
でファイル名を表示できる
写真のタイムスタンプ(日時)を表示したい
DateTimeOriginal がシャッターを押した日付になる。
exiftool -DatetimeOriginal
lsコマンドみたいに撮影時刻を見る
すべてまとめて、次のようにコマンドを作ることができる。
takuya@mac:~/Photos/2022/06$ exiftool -T -filename -datetimeoriginal *.jpg IMG_6820.jpg 2022:06:01 01:22:12 IMG_6829.jpg 2022:06:01 19:55:41 IMG_6832.jpg 2022:06:02 14:44:53 IMG_6836.jpg 2022:06:03 14:32:40 IMG_6837.jpg 2022:06:04 15:48:09 IMG_6838.jpg 2022:06:04 15:48:11 IMG_6840.jpg 2022:06:04 23:12:00
通常のexiftoolの場合
カラム(縦方法)に1行に表示しない場合は、複数行に記載されてしまい、コマンドから非常に扱いにくい。
takuya@mac:~/Photos/2022/06$ exiftool -s -filename -datetimeoriginal IMG_6838.jpg ======== IMG_6860.jpg FileName : IMG_6860.jpg DateTimeOriginal : 2022:06:07 22:58:26 ======== IMG_6861.jpg FileName : IMG_6861.jpg DateTimeOriginal : 2022:06:07 22:58:40 ======== IMG_6862.jpg FileName : IMG_6862.jpg DateTimeOriginal : 2022:06:07 22:58:57 22 image files read
ファイルの生成日・更新日・撮影日を一覧する
exiftool -T -Filename -DatetimeOriginal -CreateDate -FileModifyDate -file *.jpg
このコマンドは大文字小文字を区別しないようですね。
exiftool -T -filename -datetimeOriginal -createDate -filemodifydate -file *.jpg
このコマンドを使って、ファイル更新日と撮影日がずれているファイルを見つけたり、撮影日が未設定のファイルを探す事ができる。便利
xargs と組み合わせて処理を高速化
xargs のマルチプロセス機能を組み合わせて、限界までCPUを使って演算を高速化する。
ls *.jpg | xargs -P10 -I@ exiftool -T -filename -datetimeoriginal @
写真フォルダには数千枚のファイルがあるので、xargs と組み合わせるとすこし速いかもしれない。
ただし、プロセス生成のオーバーヘッドがあるのでexiftool に複数ファイルを引数に渡すのと比べて、遅くなる場合も多い。
exiftool コマンドのインストール
sudo apt install libimage-exiftool-perl
参考資料
- man exiftool