【注意】ダウンロードした写真ファイルの更新日へアップロードされたと思われる時刻が入っている、というのを今(2-July-2017)確かめたら、そんなことはありませんでした。勘違いだったのかもしれません。ごめんなさい。スクリプト自体がおかしいわけではないのですが。
Facebook へアップロードされた写真を オプション > ダウンロードでファイル化すると、当然だけどダウンロードした時刻が作成日へ入ります。これを OS X の写真アプリへ取り込むと、作成日もそのまま取り込まれるので、日付で並べ替えたとき変な順序になってしまいます。
そこで調べてみたところ、Facebook へアップロードされた時刻(と思われる)がファイルの更新日に入っていました。だったら更新日を読んで作成日へ入れてから写真アプリへ取り込めばいいよね。そういうわけで OS X の awk と sh を使ってこんな風に解決できました。
awk:
{ mm = $6 dd = $7 tt = $8 ff = $9 newdate = sprintf( "\"%02d/%02d/2016 %s\"", mm, dd, tt ) print "SetFile -d", newdate, ff }
sh で実行:
ls -l 写真ファイル | awk -f awkのスクリプト | sh
参考 man ページ: SetFile(1) awk(1)
“更新日を読んで作成日へ入れる” への1件のコメント
[…] 「更新日を読んで作成日へ入れる」で SetFile コマンドを使ったけど、あれは Developer Tools がないときは使えません。そこで代わりに touch コマンドを使うときはパラメーターの指定方法が […]