파일 EXIF ​​생성 날짜를 기준으로 수천 개의 jpg 파일을 일일 디렉토리로 이동합니다.

파일 EXIF ​​생성 날짜를 기준으로 수천 개의 jpg 파일을 일일 디렉토리로 이동합니다.

이미지가 생성된 날짜를 기준으로 이름이 지정된 디렉터리 구조로 정렬해야 하는 수천 개의 jpg와 mp4가 있습니다. 파일 수정 날짜가 틀릴 수 있으므로 EXIF ​​날짜부터 시작하는 것이 좋습니다. 하지만 EXIF ​​날짜를 구하는 데 많은 작업이 필요한 경우 수정된 날짜를 사용하는 것이 더 좋습니다.

그래서,

  • file12014-06-30에 촬영됨
  • file22014-07-01에 촬영됨
  • file32014-06-30에 촬영됨

디렉토리로 이동됨

  • /140630/file1
  • /140701/file2
  • /140630/file3

저는 OS X Yosemite를 Unix로 사용합니다.

답변1

ImageMagick을 설치하고 -verbose와 함께 인식 도구를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

for f in *.jpg *.jpeg *.JPG *.JPEG *.mp4 *.MP4; do
  echo $f
  identify -verbose "$f"|grep exif:DateTime
  echo
done

Kepler22b-artwork.jpg

Kepler-62f_with_62e_as_Morning_Star.jpg
    exif:DateTime: 2013:04:08 10:45:44

logo.jpg

P1050030.JPG
    exif:DateTime: 2013:11:01 22:59:27
    exif:DateTimeDigitized: 2013:10:31 23:39:55
    exif:DateTimeOriginal: 2013:10:31 23:39:55

P1070322.JPG
    exif:DateTime: 2014:07:14 10:48:43
    exif:DateTimeDigitized: 2014:07:14 10:48:43
    exif:DateTimeOriginal: 2014:07:14 10:48:43

죄송합니다. 이것이 완전한 솔루션은 아니지만 bash 또는 Python과 같은 스크립팅 언어에 익숙하다면 이 출력을 구문 분석하고 각 출력을 저장할 폴더를 결정하는 스크립트를 쉽게 작성할 수 있습니다.

보시다시피 일부 파일에는 3개의 DateTime 필드가 있고 일부는 그렇지 않으므로 수동으로 처리해야 하는 일부 필드가 남아 있거나 파일 수정 시간을 대체 수단으로 사용할 수 있습니다.

관련 정보