画像整理用シェルスクリプト

作成日:2021/06/28
最終更新日:2021/06/28

画像整理用シェルスクリプト

作成日:2021/06/28
最終更新日:2021/06/28

概要

多量の昔の写真データを整理するためにEXIF情報を基に画像を整理するシェルスクリプトを作成しました。スクリプトを設置したディレクトリ内にあるJPEG形式の画像データのEXIF情報を参照し、DateTimeOriginalを基に年月日のディレクトリを作成すると共に画像ファイルを作成したディレクトリ内に格納します。

詳細

Ubuntu 20.04の日本語環境で動作を確認しています。なお、ファイル名に半角スペースが1つ入ったファイルまで対応しています。

また、EXIF情報の日付は YYYY:MM:DD であることを前提にしています。

ソース1. tidy_image.sh
#!/usr/bin/bash

function execute_tidy () {
  names=`ls -al *.$1 | awk '{print $9}'`
  for name in $names
  do
    times=`identify -verbose $name | grep DateTimeOriginal | awk '{print $2}' | sed s/':'//g`
    if [ -n "$times" ]; then
      mkdir -p $times
      mv "$name" $times/
    fi
  done
}



ls -al | awk '{if(NF==10){print "mv \""$9" "$10"\" "$9"_"$10}}' | /bin/sh

execute_tidy JPG
execute_tidy jpg