¿Cómo puede copiar recursivamente todos los archivos * .foo en src para apuntar usando cp y / o find?

StackOverflow https://stackoverflow.com/questions/651136

  •  19-08-2019
  •  | 
  •  

Pregunta

cp -v -ur path/to/jsps/ /dest/path/

El comando anterior copia todos los archivos que se han actualizado desde el directorio de origen al destino, preservando la estructura del directorio.

Lo que no puedo entender es cómo copiar solo archivos * .someExtention. Sé que puedes usar algo como:

find -f -name *.jsp -exec some awesome commands {}

Pero no sé cómo hacerlo (y no tengo tiempo para leer las páginas de información en detalle).

Toda la ayuda es muy apreciada.

Gracias LES

¿Fue útil?

Solución

Si desea utilizar find / cp, lo siguiente debería ser el truco:

find -f -name *.jsp -exec cp --parents {} /dest/path \;

pero rsync es probablemente la mejor herramienta.

Otros consejos

rsync podría ayudar: puede pedirle que simplemente copie ciertos archivos con una combinación de opciones de inclusión y exclusión, p. ej.

rsync -a \
   --include='*.foo' \
   --include='*/' \
   --exclude='*' \
   path/to/jsps/ /dest/path/

Consulte el manual y consulte la sección titulada REGLAS DEL FILTRO para más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top