子供のアルバムを作るために写真データをMac常に集めたのですが、ファイル名がめちゃくちゃで日付をファイル名にしたいです。
(ファイル名でソートすれば日付順にできるため)
1. プレビューアプリで調べて手で変更する
1. 何かアプリをDLして行う
1. exifツールを取得するコマンドで行う
手でやったり、アプリでやるのは嫌だったので調べてみたところexiftoolコマンドを使えばターミナルで情報が取得できることがわかりました。
今回はexiftoolを使ってファイル名を変更したいと思います。
## 仕様
* JPEGの撮影日付をファイル名に変更する
* 日付が取得できないものは、ファイル名を変えない
## exiftoolのインストール
まずはexiftoolをインストールします。
スクリプトではgsedも使うのでインストールしておきます。
[brew](https://brew.sh/index_ja.html)コマンドは事前にインストールしておいてください。
```bash
$ brew install exiftool
$ brew install gsed
```
## スクリプト
作成したスクリプは下記になります。
実行する前にconvertedフォルダを作成しておいてください。
```
#!/bin/bash
#
# JPEG画像のExif情報から撮影時間を取得して日付を名称に変更するスクリプト
# exiftool,gsed コマンドが必要
#
for file in `find . -depth 1 -type f -iname "*.JPG"`; do
create_date=`exiftool "$file" | grep "Create Date" | head -1 | sed "s/Create Date : //" `
date_str=`echo "$create_date" | sed 's/[ :]/-/g'`
if [ -z $date_str ]; then
date_str=`basename $file | gsed 's/\.jpg//i'`
echo ">>> $file "
echo ">>> $file $date_str"
fi
new_file_name="$date_str"'.jpg'
echo "cp $file ./converted/$new_file_name"
cp $file "./converted/$new_file_name"
done
```
0 件のコメント :
コメントを投稿