Quiero duplicar una carpeta y todas las subcarpetas, pero no quiero duplicar el contenido de los archivos de este directorio.
Digamos que la carpeta que quiero duplicar es
Folder0
Folder00
File000.x 1GB
File001.x 500MB
Folder01
File010.x 600MB
Quiero crear un duplicado que sea como
Folder0
Folder00
File000.x 1KB
File001.x 1KB
Folder01
File010.x 1KB
¿Cómo me aconsejarías que hiciera esto?
Alternativamente, puedo crear primero un duplicado normal de la carpeta y luego borrar el contenido de cada archivo.
Respuesta1
Puedes usar buscar:
find src/ -type d -exec mkdir -p dest/{} \; \
-o -type f -exec touch dest/{} \;
Busque el directorio ( -d
) en ( src/
) y créelos ( mkdir -p
) en dest/
o ( -o
) busque archivos ( -f
) y touch
ellos en dest/
.
Esto resultará en:
dest/src/<file-structre>
Puede utilizar mv
de forma creativa para resolver este problema.
Se puede lograr otra solución (parcial) con rsync:
rsync -a --filter="-! */" sorce_dir/ target_dir/
El truco aquí es la --filter=RULE
opción que excluye ( -
) todo lo que no es ( !
) un directorio ( */
)