Quero duplicar uma pasta e todas as subpastas, mas não quero duplicar o conteúdo dos arquivos deste diretório.
Digamos que a pasta que desejo duplicar seja
Folder0
Folder00
File000.x 1GB
File001.x 500MB
Folder01
File010.x 600MB
Quero criar uma duplicata que seja como
Folder0
Folder00
File000.x 1KB
File001.x 1KB
Folder01
File010.x 1KB
Como você me aconselharia a fazer isso?
Alternativamente, posso primeiro criar uma duplicata regular da pasta e depois limpar o conteúdo de cada arquivo.
Responder1
Você pode usar encontrar:
find src/ -type d -exec mkdir -p dest/{} \; \
-o -type f -exec touch dest/{} \;
Encontre o diretório ( -d
) em ( src/
) e crie ( mkdir -p
) eles em dest/
ou ( -o
) encontre os arquivos ( -f
) e touch
eles em dest/
.
Isso resultará em:
dest/src/<file-structre>
Você pode usar mv
de forma criativa para resolver esse problema.
Outra solução (parcial) pode ser alcançada com rsync:
rsync -a --filter="-! */" sorce_dir/ target_dir/
O truque aqui é a --filter=RULE
opção que exclui ( -
) tudo que não é ( !
) um diretório ( */
)