Cree un nuevo árbol de directorios vacío a partir del árbol existente con archivos

Cree un nuevo árbol de directorios vacío a partir del árbol existente con archivos

Tengo un árbol de directorios grande con muchos archivos.

Me gustaría volver a crear la estructura de directorios en una nueva ubicación, pero sólo los directorios, no los archivos.

Revisé cpla página de manual de , pero no veo ningún argumento que ayude.

Respuesta1

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

Respuesta2

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

Tomado de la respuesta de @whitequark a esta pregunta:Copie la estructura de directorios sin copiar archivos, en Mac OS X

Respuesta3

Otro enfoque es utilizar el treecual es bastante útil y navegar por los árboles de directorios en función de sus sólidas opciones. Hay opciones para solo directorio, excluir directorios vacíos, excluir nombres con patrón, incluir solo nombres con patrón, etc. Consulteman tree

Ventaja: puede editar o revisar la lista, o si realiza muchas secuencias de comandos y crea un lote de directorios vacíos con frecuencia

Acercarse: cree una lista de directorios usando tree, use esa lista como entrada de argumentos paramkdir

tree -dfi --noreport > some_dir_file.txt

-dfienumera solo directorios, imprime la ruta completa para cada nombre, hace que el árbol no imprima las líneas de sangría,

--noreportOmite la impresión del informe de archivos y directorios al final del listado del árbol, solo para que el archivo de salida no contenga ninguna tontería.

Luego vaya al destino donde desea los directorios vacíos y ejecute

xargs mkdir < some_dir_file.txt

Respuesta4

Encontré esto porque satisfizo una necesidad similar. Con una versión suficientemente nueva de rsync, esa es tu mejor opción.

Si no tienes una versión reciente de rsync, esto es suficiente:

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

(Se puede utilizar una variante de esto para la duplicación de permisos)

información relacionada