tec memo

メモです。

散らかった写真を整理したい方へ

数年前に家族が撮影した未整理の写真データが出てきた。 変更した日は出ているが、写真名からはいつのものか判断できない。さらにはよく見ると同じ写真がファイル名が違うものであったりと、かなり状態としては悲惨だった。 それをサクッと整理したお話です。

以下、finderで表示した場合、こんな感じだった。

f:id:atani:20161201230148p:plain

整理するためにやるべきこと

用件としては二つ

  • 重複したデータは取り除く
  • それぞれの写真の日付が一目でわかるようにする

やったこと

重複データを取り除く。

お金を出せば有料のアプリで一気にできるのだが、どちらもコマンドを使って解決した。

まず、重複データを取り除く。

fdupes というコマンドを利用した。mac標準では入っていないので、brew を使ってインストールする。

brew install fdupes

※ なお、brew が何ものかについては MacにHomebrewをインストールする あたりを参照のこと。

これでfdupes が使える状態になった。

# fdupes -r フォルダ名

これで、重複しているファイルリストが出てくる。

# fdupes -r backup/ | head
backup/SH3E0154.jpg
backup/SH3E0154_0001.jpg

backup/SH3E0090.jpg
backup/SH3E0090_0001.jpg

backup/PAP_0222.JPG
backup/PAP_0223.JPG
backup/PAP_0224.JPG
backup/PAP_0225.JPG

fdupesに重複ファイルを消すオプションがついているけれど、消してしまったら元に戻せないので、一度対象のファイル名をテキストに出力する。

fdupes -rf backup/ | sort | uniq | grep -v '^$' > duplicate.list

中身を確認し、問題なければ削除する。

while read file; do rm "$file"; done < duplicate.list

この時、rmだとこれまた問答無用で消えてしまうので、それでも怖い方はrmtrashなどを利用する。 そうすると、重複ファイルは、ゴミ箱に入る。確認が終わったらゴミ箱を空にすればOK!

ファイルがいつに撮影されたものか一目でわかるように。

ファイル名が日付になれば、一目でわかる。 jhead コマンドを利用する。

brewで一発で入る。

brew install jhead

ファイル名を変換するには以下のとおり。

jhead -nf%Y-%m-%d-%H%M%S [ファイル名]

正規表現が使えるので、

jhead -nf%Y-%m-%d-%H%M%S *.jpg

f:id:atani:20161201232106p:plain

あとは、年月日のディレクトリごとに整理するなりしたらスッキリ。