Mover arquivos no subdiretório para outro diretório

7

Eu tenho um diretório: ../Music com muito de arquivos de música em muito de subdiretórios.

Como eu movo todos os arquivos nos subdiretórios para outro diretório?
Assim, eu somente quer mover os arquivos, não quero manter a estrutura do subdiretório.

    
por Aerus 05.01.2011 / 13:44

5 respostas

9

Supondo que o diretório atual tenha as subpastas, substitua TARGET_DIR na seguinte instrução em uso:

find . -name '*.mp3' -exec mv {} TARGET_DIR \;
    
por chris 05.01.2011 / 13:54
2

Tente isto:

 cd ../Music

 for i in 'ls -Q'; do  mv $i/* /Path/To/Some/Other/Directory;   done

Sugiro usar cp em vez de mv para verificar se está funcionando bem ou não. e se estiver funcionando, apenas apague o diretório ..Music

Editar: adicionado -Q (e necessário adicionar esta explicação para ir além de seis caracteres)

    
por aneeshep 05.01.2011 / 14:08
0

A primeira resposta está correta, mas uma maneira mais fácil de fazer isso, supondo que você tenha apenas uma camada de subdiretórios, é:

mv ../Music/*/*.mp3 [insert target dest here]
    
por argarevarg 21.12.2014 / 00:54
0

Você também pode usar o Rhythmbox, o banshee ou um software semelhante. Eles podem verificar seus diretórios de música.

Você pode optar por preservar o diretório ou (no seu caso) o software pode mover os arquivos para um diretório rhythmbox / banshee que eliminaria a hierarquia como você queria.

Então,

cp /target/directory/* /desination/directory/ -r

Em seguida, exclua o original, se tiver êxito.

    
por YQ002lc2 21.12.2014 / 01:38
0
(cd ~/Music ; tar cf - ) | (cd /path/to/other/directory; tar xf -) 
    
por user8404 05.01.2011 / 20:38