Desfaz a movimentação de arquivos de subnível sem seus diretórios para um diretório simples

0

Configuração geral

-root-dir<br>
---dir-tar<br>
---file<br>
---dir<br>
------dir<br>
------file<br>
---dir<br>
------dir<br>
------fil<br>

Comando eu corri:

find ./dir -type f -iname "*" -exec mv {} --target-directory=dir-tar /;

Eu estava em root-dir (note que o dir-tar está dentro do diretório-raiz)

Problema

Nenhum subdiretório foi movido. Todos os arquivos agora estão listados em dir-tar sem seus subdiretórios (bagunça basicamente desorganizada!)

Então, qualquer ajuda é apreciada. É sua informação sobre o que foi onde? Tentei ls -lrt para ver datas ou horas, mas não há um padrão real para reuni-las novamente.

Qualquer ajuda é apreciada. Obrigado.

    
por syntax 17.11.2012 / 19:28

1 resposta

1

Bem, encontre o que você pediu. Encontrou todos os arquivos e moveu todos os arquivos. A menos que você tenha algum tipo de referência para olhar (backup, archive) eu acredito que é quase impossível restaurar a estrutura original porque, até onde eu sei, sistemas de arquivos não têm uma opção reversa para mover arquivos.

No futuro, pode ser sábio preparar um "eco" para o comando, para que você veja o que acontecerá antes de executá-lo. Neste caso em particular, o que você queria fazer poderia ser alcançado com mv dir/* tar-dir ou:

find /path -type d -maxlevel 1 -exec -->echo<-- mv {} /dest/ \;
    
por 18.11.2012 / 00:45

Tags