Como mover recursivamente todas as pastas em um diretório para trás um diretório

15

Eu tenho pastas no cenário / terreno que contêm pastas chamadas terreno e objetos. Essas pastas possuem pastas com arquivos de dados. Como movo todo o conteúdo cenário / terreno / [nome] / terreno para cenário / terreno e o conteúdo de cenário / terreno / [nome] / objetos para cenário / objetos?

Andrew D.
fonte

Respostas:

19

Não há opção recursiva para o mvcomando; portanto, se houver diretórios dentro dos diretórios que você deseja mover, será necessário usá-lo cp. Que tal este:

cp -R scenery/terrain/*/terrain/* scenery/terrain/
cp -R scenery/terrain/*/objects/* scenery/objects/

Então, quando você tiver certeza de que funcionou:

rm -rf scenery/terrain/*/terrain
rm -rf scenery/terrain/*/objects
Ryan
fonte
Bom ponto, mas acho que no Mac OS será cp -R (R maiúsculo).
QSQ
@QSQ Obrigado pela correção. Corrigido agora.
Ryan
-r funcionou bem.
Andrew D.
1
mv scenery/terrain/*/terrain/* scenery/terrain/
mv scenery/terrain/*/objects/* scenery/objects/
QSQ
fonte
Experimente-o em uma cópia da pasta no caso de eu mal entendido algo :-)
QSQ
Tarde demais agora .. Falha da minha parte. Eu sempre posso apenas re-torrent os 13 GB de cenário.
Andrew D.
Não funcionou. Diz que "o diretório não está vazio"
Andrew D.
Hmm estranho. Eu tentei aqui construindo uma árvore como essa e colocando arquivos em cenário / terreno / a / terreno / cenário / terreno / b / terreno / e cenário / terreno / a / objetos / e cenário / terreno / b / objetos /
QSQ
Talvez eu possa tentar mover o diretório atual / terreno em outro lugar para evitar conflitos de arquivo?
Andrew D.