0 votos

Copiar todos los archivos de un tipo específico a una carpeta concreta utilizando el Terminal de Mac

¿Cómo puedo copiar todos los archivos de un tipo específico a una carpeta específica utilizando el Terminal de Mac?

find . -name '*.STY' -type f -print0 | xargs -0 -I '{}' /usr/bin/rsync -avR "{}" "./styleFiles_chekad/"

El shell script hace el trabajo y mantiene las carpetas intactas. ¿Qué pasa si no quiero las subcarpetas y quiero tener todos los archivos justo en el "styleFiles_chekad"? Sin embargo, es muy complicado. ¿Hay alguna manera más fácil de hacerlo? ¡El siguiente comando no funciona!

cp . -name '*.STY' styleFiles_chekad/

Cualquier ayuda será muy apreciada.

PS. ¿Alguien puede recomendar un buen recurso para los scripts de bash?

2voto

Deberías ser capaz de ejecutar simplemente

t=${TMPDIR:-/tmp}/target
mkdir "$t"

find . -type f -name '*.STY' -exec cp {} "$t"/ \;

mv "$t"/* ./styleFiles_chekad/
rmdir "$t"

La idea de utilizar un directorio temporal es evitar que find de copiar también los archivos que ya movió en ./styleFiles_chekad/ .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X