비디오 파일 파일명에 날짜와 시각을 넣으면 유용하다. 다음 스크립트로 그렇게 할 수 있는데, 우선 exiftool
을 설치해 놔야 한다. 파일의 exif 정보를 볼 수 있는 커맨드라인 툴이다. 리눅스라면 저장소에서 설치할 수 있고, 맥이라면 brew로 설치한다.
이후 다음 스크립트를 실행하면 현재 폴더에 있는 MOV, mov, mp4 파일을 대상으로 작동한다.
실행하면 파일명의 맨 앞에 날짜와 시간을 넣게 된다.
아이폰, 캐논, 올림푸스가 생산한 영상 파일에서 작동하는 것을 확인했다. 안드로이드로 찍은 것은 안 해봐서 패스한다.
아래 내용을 긁어서 add-time-to.sh
같은 파일로 만든 뒤 chmod +x add-time-to.sh
로 실행 권한을 주고 /usr/local/bin/
같은 PATH 폴더로 이동시킨 뒤 어디서나 사용하면 된다.
아니면 그냥 아래 내용을 긁어서 커맨드 라인에 붙여넣기해도 된다.
빠르게 쓰고 버린 스크립트를 저장하는 용도로 쓰는 포스트였는데 스크립트 자체는 개량을 좀 했다. 그래도 자세한 설명과 응용법은 생략한다.
#!/usr/bin/env bash
test=$(which exiftool)
if [[ "$test" == "" ]]
then
echo 'exiftool을 설치하세요.'
exit 1
fi
if [[ "$1" == "" ]]
then
echo "ex)" $0 *.mov '# mov 확장자 파일을 대상으로 진행'
echo "ex)" $0 *.{mov,MOV} '# mov, MOV 확장자 파일을 대상으로 진행'
echo "ex)" $0 *.{mov,jpg,mp4,MOV,JPG,MP4} '# mov, jpg, mp4, MOV, JPG, MP4 확장자 파일을 대상으로 진행'
echo "ex)" $0 a.jpg '# a.jpg를 대상으로 진행'
exit 1
fi
for f in "$@"
do
datetime=''
if [[ $datetime == '' ]]
then
datetime=$(exiftool -'CreationDate' "$f" | awk '{ print $4 "_" $5 }')
datetime=${datetime/+09:00/}
echo CreationDate: $datetime
fi
if [[ $datetime == '' ]]
then
datetime=$(exiftool -'CreateDate' "$f" | awk '{ print $4 "_" $5 }')
datetime=${datetime/+09:00/}
echo CreateDate: $datetime
fi
if [[ $datetime == '' ]]
then
datetime=$(exiftool -'DateTimeOriginal' "$f" | awk '{ print $4 "_" $5 }')
datetime=${datetime/+09:00/}
echo DateTimeOriginal: $datetime
fi
if [[ $datetime != '' ]]
then
datetime=${datetime/:/-}
datetime=${datetime/:/-}
datetime=${datetime/:/-}
datetime=${datetime/:/-}
datetime=${datetime}
echo "${datetime}_${f}"
mv "$f" "${datetime}_${f}"
else
echo "$f의 시간값을 찾지 못했음."
fi
done
댓글 남기기