기본 디렉터리의 파일을 하위 디렉터리의 더 적은 수의 파일로 구성하는 방법

기본 디렉터리의 파일을 하위 디렉터리의 더 적은 수의 파일로 구성하는 방법

150개의 파일이 있는 디렉토리가 있는데 각각 25개의 파일이 있는 하위 디렉토리로 분할하고 싶습니다(1-25는 dir1, 26-50은 dir2 등). 어떻게 해야 하나요?

dir1/fre_4_g2_c3654214.h3

dir1/fre_4_g2_c0585433.h3

dir1/fre_4_g2_c3565415.h3

... 등

내가 하고 싶은 일은

dir1/fre_4_g2_c3654214.h3

dir2/fre_4_g2_c0585433.h3

dir3/fre_4_g2_c3565415.h3

답변1

그러면 파일이 영숫자순으로 정렬되고 처음 25개 파일은 하위 디렉터리로 이동되고 dir0다음 25개 파일은 하위 디렉터리로 이동되는 식 dir1으로 모든 파일이 이동될 때까지 계속됩니다.

 n=0; for f in *; do d="dir$((n++ / 25))"; mkdir -p "$d"; mv -- "$f" "$d/$f"; done

여러 줄에 걸쳐 명령을 분산시키려는 경우:

n=0
for f in *
do
    d="dir$((n++ / 25))"
    mkdir -p "$d"
    mv -- "$f" "$d/$f"
done

이는 또는 아래에서 ksh작동 합니다 bash.

관련 정보