디렉터리의 파일을 분할하고 새로 생성된 다른 디렉터리로 이동합니다.

디렉터리의 파일을 분할하고 새로 생성된 다른 디렉터리로 이동합니다.

폴더에 1000개의 파일이 있는데 각각 100개의 파일로 분할해야 합니다. 그런 다음 이 100개의 파일을 자동으로 생성된 새 폴더로 자동 이동해야 합니다.

이 명령을 사용하여 파일을 수동으로 이동합니다.

for file in $(ls -p | grep -v / | tail -100);
do 
mv "$file" NEWFOLDER;
done

그러나 단일 폴더에 약 10,000개의 파일이 있는 경우 이는 매우 어려울 것입니다.

답변1

나는 답을 찾았다https://stackoverflow.com/questions/10394543/need-a-bash-scripts-to-move-files-to-sub-folders-automatic

#!/bin/bash
c=1; d=1; mkdir -p NEWDIR_${d}
for jpg_file in *.jpg
do
  if [ $c -eq 100 ]
  then
    d=$(( d + 1 )); c=0; mkdir -p NEWDIR_${d}
  fi
  mv "$jpg_file" NEWDIR_${d}/
  c=$(( c + 1 ))
done

이 코드를 사용해 보세요

잘 작동합니다. 테스트해 봤습니다.

관련 정보