Estrutura de diretórios de transformação

4

Eu tenho a seguinte estrutura de pastas

root folder
 |-al2
   |- GER.zip
   |- ENG.zip
 |-ww
   |- GER.zip
   |- ENG.zip

e assim por diante. Os nomes das pastas são strings aleatórias.

Eu quero classificar os arquivos da seguinte maneira:

root folder
 |-ENG
   |-al2
     |- ENG.zip
   |-ww
     |- ENG.zip
 |-GER
   |-al2
     |- GER.zip
   |-ww
     |- GER.zip

Como posso automatizar isso?

UPDATE : Os nomes das pastas não seguem nenhum tipo de sistema. Eles são seqüências aleatórias.

    
por pgrosslicht 22.08.2012 / 15:46

1 resposta

3

Aqui está um script simples:

#!/bin/bash
for file in ./*/* ; do
    lang=${file%.zip}            # Remove the extension.
    lang=${lang#./*/}            # Remove the folder.
    mkdir -p "$lang/${file%/*}"  # Create the target folders.
    mv "$file" "$lang/$file"
done
    
por 22.08.2012 / 15:55