¿Cómo puede copiar recursivamente todos los archivos * .foo en src para apuntar usando cp y / o find?
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
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.