Created
July 6, 2016 06:27
-
-
Save amano41/07951206c5bad03fd30c1895279c8b7d to your computer and use it in GitHub Desktop.
Exif の撮影日時をもとに JPEG ファイルをリネームする
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# -*- coding: utf-8 -*- | |
SRC="$1" | |
DIR=$(dirname "$SRC") | |
BASE=$(basename "$SRC") | |
EXT=$(echo "${BASE##*.}" | tr A-Z a-z) | |
## 撮影日時を取得 | |
DATE=`identify -format '%[exif:DateTimeOriginal]' "$SRC" | sed -e 's/://g' -e 's/ /-/g'` | |
## 撮影日時がなければデジタルデータの生成日時を代わりに使う | |
if [ -z "$DATE" ]; then | |
DATE=`identify -format '%[exif:DateTimeDigitized]' "$SRC" | sed -e 's/://g' -e 's/ /-/g'` | |
fi | |
## デジタルデータの生成日時もダメならデータ更新日時 | |
if [ -z "$DATE" ]; then | |
DATE=`identify -format '%[exif:DateTime]' "$SRC" | sed -e 's/://g' -e 's/ /-/g'` | |
fi | |
## Exif から日付の情報が利用できなければタイムスタンプ | |
if [ -z "$DATE" ]; then | |
DATE=`stat -c '%y' "$SRC" | cut -d '.' -f 1 | sed -e 's/[-:]//g' | sed -e 's/ /-/g'` | |
fi | |
BASE="${DATE}.${EXT}" | |
DEST="${DIR}/${BASE}" | |
if [ -e "$DEST" ]; then | |
echo "\tfile '$DEST' already exists." | |
echo "\tskipped: $SRC" | |
else | |
mv "$SRC" "$DEST" | |
echo "$SRC ==> $BASE" | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment