![디렉토리의 하위 디렉토리를 n개 부분으로 나누는 방법은 무엇입니까?](https://linux55.com/image/79364/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%9D%98%20%ED%95%98%EC%9C%84%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EB%A5%BC%20n%EA%B0%9C%20%EB%B6%80%EB%B6%84%EC%9C%BC%EB%A1%9C%20%EB%82%98%EB%88%84%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
52개의 하위 디렉터리가 있는 디렉터리가 있고 이를 각각 5개의 하위 디렉터리가 있는 11개의 폴더로 분할하고 싶습니다. 누구든지 나에게 이것을 달성하는 방법을 제안할 수 있습니까?
답변1
첫째, 당신은 수학적 불가능성을 요구하고 있지만 나는 그것을 무시하겠습니다.
귀하가 묻는 기본 질문은 간단합니다.
[ ! -e split ] &&
set ./*/ &&
while mkdir split && [ 4 -lt "$#" ]
do mv "$1" "$2" "$3" "$4" "$5" split
mv split "${1%/}"
shift 5
done&& mv "$@" split && mv split "${1%/}"
어떤 종류의 이름이나 이와 유사한 것을 지정하지 않았기 때문에 아무것도 덮어쓰지 않도록 주의해야 하며, 결국 사전순으로 정렬된 모든 5번째 디렉터리를 모든 5번째 이름을 따서 명명된 디렉터리로 이동하게 됩니다. 즉, 현재 디렉터리에 이름이 지정된 파일이나 디렉터리가 없으면 이 작업이 수행됩니다.나뉘다
답변2
제가 잘못 이해한 것인지는 모르겠지만 다음과 같이 시도해 볼 수 있습니다.
ls -1 | awk '{tmp=int($NR/5);system("mkdir Folder"$tmp);system("mv "$1" Folder"$tmp)}'