수많은 폴더에 들어있는 파일들만 뽑아서 특정 폴더에 넣기 : 클리앙

개인적으로 수많은 폴더에 들어있는 파일들만  뽑아서 특정 폴더에 넣으려고 만든건데

필요하신분들 쓰시길 바랍니다.


?수많은폴더에들어있는파일들만뽑아서특정폴더에넣기클리앙.sh 로 만들면 되구요

터미널에서 sh 명령어로 실행하면 됩니다 매우 빠릅니다 ㅎㅎ


# videos 폴더 경로 설정

DIRECTORY="/Volumes/SSD/Download/merge"

# ALL 폴더 생성

ALL_FOLDER="/Volumes/SSD/Download/all"

mkdir -p "$ALL_FOLDER"

# 파일 확장자 배열 설정

extensions=("mp4" "wmv" "avi" "mkv")

# videos 폴더 내의 모든 서브폴더 찾기

for DIR in "$DIRECTORY"/*; do

  if [ -d "$DIR" ]; then # 서브폴더인지 확인

    for ext in "${ extensions[@]}"; do

      # 해당 확장자의 파일을 찾기

      for FILE in "$DIR"/*."$ext"; do

        # 파일이 존재하는지 확인

        if [ -e "$FILE" ]; then

          # 폴더 이름과 파일 이름 분리

          BASENAME=$(basename "$FILE")

          FOLDERNAME=$(basename "$DIR")

          NEWNAME="${ FOLDERNAME}_${ BASENAME}"

          

          # 파일 이름 변경

          mv "$FILE" "$DIR/$NEWNAME"

          

          # ALL 폴더로 파일 이동

          mv "$DIR/$NEWNAME" "$ALL_FOLDER/"

        fi

      done

    done

  fi

done

자료실