Como dividir os subdiretórios de um diretório em n partes?

4

Eu tenho um diretório com 52 subdiretórios, e gostaria de dividi-los em 11 pastas com 5 subdiretórios cada um deles. Alguém pode me sugerir uma maneira de conseguir isso?

    
por Rodrigo Morales Alvarado 13.12.2015 / 03:25

2 respostas

2

Em primeiro lugar, você está pedindo uma impossibilidade matemática, mas vou ignorá-la.

A coisa básica que você faz é muito simples:

[ ! -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%/}"

Porque você não especifica qualquer tipo de nome ou similar que tome algum cuidado para evitar sobrescrever qualquer coisa, e acaba movendo apenas todos os 5 diretórios como classificados lexicograficamente em um diretório nomeado para cada 5. Isto é, faz isso se não houver nenhum arquivo ou diretório no diretório atual chamado split

    
por 13.12.2015 / 06:16
0

Eu não sei se entendi errado, mas você pode tentar algo assim:

ls -1 | awk '{tmp=int($NR/5);system("mkdir Folder"$tmp);system("mv "$1" Folder"$tmp)}'
    
por 13.12.2015 / 03:39

Tags