이미지를 반복적으로 검색하고 날짜 폴더로 이동합니다. 나는 (모든 이미지에서 가능하다면) 날짜를 기준으로

묻는 의문 9 개월 전에 이미지를 백업 폴더에 복사하는 방법에 대해 알아 봅니다. 그 경우에 효과가있었습니다! 하지만 지금은 또 다른 문제가 있습니다. 233GB의 정렬되지 않은 데이터 (주로 이미지)가 있으며 정렬되지 않은 디렉토리 구조에 있습니다.

나는 (모든 이미지에서 가능하다면) 날짜를 기준으로 이미지를 정렬하고 원본 파일 이름을 유지하려고 생각했습니다.

질문을 찾았습니다. 이리 , 그러나 나는 그것을 시험해 보지 않았다 – 물건을 망쳐 두려워한다.

제 질문은 : 어떻게 재귀 적으로 폴더를 검색하고 bmp, jpg, JPG, jpeg 및 gif 형식의 이미지를 이동합니까? /home/username/Documents/backup/[date] 폴더 (ex. /home/username/Documents/backup/2013-06-10/DSC01158.JPG ), 그리고 그 폴더가 존재하지 않는다면 – 그것을 생성하십시오. 가능하면 파일 이름을 유지하십시오.

사용 된 시스템 : macOS Sierra 10.12.4

편집하다:
날짜가 파일 이름에 날짜를 포함하지 않기 때문에 메타 데이터에서 날짜를 추출해야합니다.



답변

검색 및 실행하려는 폴더로 변경하십시오.

find . -type f -iname '*.jpg' | while read file; do
    ts=$(stat -f '%Sm' -t '%Y-%m-%d' "$file")
    folder="/path/to/backup/folder/$ts"
    [[ -d "$folder" ]] || echo mkdir "$folder"
    echo mv "$file" "$folder/"
done

작은 샘플을 먼저 테스트하고 둘 다 제거하는 것이 가장 좋습니다. echo 출력이 합리적인 경우 s입니다.


답변