Crie uma nova árvore de diretórios vazia a partir da árvore existente com arquivos

Crie uma nova árvore de diretórios vazia a partir da árvore existente com arquivos

Eu tenho uma grande árvore de diretórios com muitos arquivos.

Gostaria de recriar a estrutura de diretórios em um novo local, mas apenas os diretórios, não os arquivos.

Verifiquei cpa página de manual do , mas não vejo um argumento que ajude.

Responder1

rsync -av -f"+ */" -f"- *" /.../SOURCE /.../DESTINATION

Responder2

find . -type d -exec mkdir -p ~/to/{} \;

Retirado da resposta de @whitequark a esta pergunta:Copie a estrutura de diretórios sem copiar arquivos, no Mac OS X

Responder3

Outra abordagem é usar o treeque é bastante útil e navegar nas árvores de diretórios com base em suas opções fortes. Existem opções apenas para diretório, excluir diretórios vazios, excluir nomes com padrão, incluir apenas nomes com padrão, etc.man tree

Vantagem: você pode editar ou revisar a lista, ou se você executa muitos scripts e cria um lote de diretórios vazios com frequência

Abordagem: crie uma lista de diretórios usando tree, use essa lista como entrada de argumentos paramkdir

tree -dfi --noreport > some_dir_file.txt

-dfilista apenas diretórios, imprime o caminho completo para cada nome, faz com que a árvore não imprima as linhas de recuo,

--noreportOmite a impressão do relatório de arquivos e diretórios no final da listagem em árvore, apenas para fazer com que o arquivo de saída não contenha nenhum detalhe

Em seguida, vá até o destino onde deseja os diretórios vazios e execute

xargs mkdir < some_dir_file.txt

Responder4

Descobri que isso atingiu uma necessidade semelhante. Com uma versão suficientemente nova do rsync, essa é sua melhor aposta.

Se você não possui uma versão recente do rsync, isso resolve:

find path/to/source -type -d -exec mkdir path/to/dest/'{}' \; -exec chown --reference='{}' path/to/dest/'{}' \; -exec chmod --reference='{}' path/to/dest/'{}' \;

(Uma variante disso pode ser usada para espelhamento de permissão)

informação relacionada