Copiar archivos y directorios sin contenido de archivos

18

¿Hay alguna forma de copiar la estructura del directorio con archivos pero sin sus contenidos? Quiero decir que quiero exactamente los mismos directorios con nombres de archivos pero dejándolos en blanco / vacíos. Tengo pocas aplicaciones de ejemplo en algún lenguaje de programación y quiero reescribirlas con mi propio estilo pero manteniendo la forma en que estaban organizadas en archivos.

Estaría agradecido por cualquier ayuda.

    
pregunta dagi12 15.05.2015 - 16:05

2 respuestas

36

de man cp

  

- atributos solo                 no copie los datos del archivo, solo los atributos

Entonces, si quiere copiar todas las carpetas y archivos que están en somedirectory

do cp -R --attributes-only somedirectory destinationdirectory

    
respondido por el Sergiy Kolodyazhnyy 15.05.2015 - 16:12
10

Es bueno que Ubuntu cp tenga esta característica, pero si te encuentras en una máquina que no funciona (BSD-style cp no, por ejemplo, entonces OS X tampoco), es muy fácil para hacer con find . Aquí es como un dos líneas (para la legibilidad):

% cd original_dir
% find . -type d -exec mkdir -p ../copy_dir/{} \;
% find . -type f -exec touch ../copy_dir/{} \;

Si copy_dir ya existe, puede omitir el argumento -p a mkdir ya que find recorrerá el árbol de directorios de arriba hacia abajo. Para trabajos grandes, puede reducir otro milisegundo más o menos terminando los comandos con + en lugar de \; si su find lo admite (probablemente lo haga).

Editar: los comandos anteriores omitieron manejar enlaces simbólicos, que se pueden copiar con una tercera ejecución de find ( no hacer finalizar este con + ):

% find . -type l -exec cp -R {} ../copy_dir/{} \;
    
respondido por el alexis 15.05.2015 - 21:14

Lea otras preguntas en las etiquetas