De man cp
- somente atributos não copie os dados do arquivo, apenas os atributos
Então, se você deseja copiar todas as pastas e arquivos que estão em somedirectory
do cp -R --attributes-only somedirectory destinationdirectory
Existe uma maneira de copiar a estrutura de diretórios com arquivos, mas sem o seu conteúdo. Quero dizer que quero exatamente os mesmos diretórios com nomes de arquivos, mas deixando-os em branco / vazios. Tenho alguns aplicativos de exemplo em alguma linguagem de programação e quero reescrevê-los com meu próprio estilo, mas mantendo a maneira como eles foram organizados em arquivos.
Eu ficaria muito grato por qualquer ajuda.
De man cp
- somente atributos não copie os dados do arquivo, apenas os atributos
Então, se você deseja copiar todas as pastas e arquivos que estão em somedirectory
do cp -R --attributes-only somedirectory destinationdirectory
É bom que o Ubuntu cp
tenha esse recurso, mas se você se encontrar em uma máquina que não possui (o estilo BSD cp
não, por exemplo, o OS X também não), é muito fácil para fazer com find
. Aqui é como um dois-liner (para legibilidade):
% cd original_dir
% find . -type d -exec mkdir -p ../copy_dir/{} \;
% find . -type f -exec touch ../copy_dir/{} \;
Se copy_dir
já existir, você poderá ignorar o argumento -p
para mkdir
, pois find
irá percorrer a árvore de diretórios de cima para baixo. Para trabalhos grandes, você pode reduzir mais um milissegundo terminando os comandos com +
em vez de \;
se o seu find
suportar (provavelmente).
Editar: Os comandos acima negligenciaram o manuseio de links simbólicos, que podem ser copiados com uma terceira execução de find
( não termine este com +
):
% find . -type l -exec cp -R {} ../copy_dir/{} \;
Tags command-line