Como organizar arquivos no diretório principal em uma quantidade menor de arquivos em subdiretórios [duplicados]

1

Eu tenho um diretório de 150 arquivos que eu queria dividir em subdiretórios de 25 arquivos cada: 1-25 em dir1, 26-50 em dir2 e assim por diante. Como posso fazer isso?

dir1/fre_4_g2_c3654214.h3

dir1/fre_4_g2_c0585433.h3

dir1/fre_4_g2_c3565415.h3

... e assim por diante

e o que eu gostaria de fazer é

dir1/fre_4_g2_c3654214.h3

dir2/fre_4_g2_c0585433.h3

dir3/fre_4_g2_c3565415.h3
    
por e1v1s 16.05.2016 / 22:13

1 resposta

1

Isso classificará os arquivos alfanumericamente e moverá os primeiros 25 arquivos para o subdiretório dir0 , os próximos 25 para dir1 , etc., até que todos os arquivos sejam movidos:

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

Para aqueles que preferem seus comandos espalhados por várias linhas:

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

Isso funcionará em ksh ou bash .

    
por 16.05.2016 / 23:09

Tags