Copiar multiples archivos de varias carpetas a una sola?

Buenas , vereis , quiero copiar las .jpg de varias (Muchas xD) subcarpetas a una sola .
Tiene que ser algun comando de este tipo supongo:
find -name *.jpg directorio | <--- aqui ya me pierdo xD.
Saludos y gracias
find -name *.jpg directorio | cp */*.jpg ? me da error xD.

Edit , ya te entiendo xD.
cp directorio*.jpg directorio destino xD.
No, sólo lo que he puesto. Suponiendo que sólo tengas un nivel de subdirectorios, te pones en el directorio que los contiene todos y, para que te los copie todos ahí, "$ cp */*.jpg .", que significa "copiar todos los ficheros *.jpg de todos los directorios en el directorio actual (.)"

Si quieres usar find, mira la página man de dicho comando ya que tiene un parámetro exec para ejecutar comandos con los resultados, ahí podrías usar cp y te ahorras tuberías.
Si si , ya lo pillé gracias xD.
Si hubiera más niveles de subdirectorios, con find quedaría algo así: find directorio -name *.jpg -exec cp '{}' destino \;
Pues tampoco xD , me sale que no existe el fichero o el directorio.
Te pongo el comando a ver si pillas algo que este mal .

find /home/a/Windows/rars/ -name *.jpg -exec cp{} /home/a/Windows/imgs/ \;

Edit: Solucionado xD
Me faltaba el espacio entre cp y {} xDDDD.
find /home/a/Windows/rars/ -name *.jpg -exec cp {} /home/a/Windows/imgs/ \;
Yo no quitaría las comillas simples de '{}'
¿Y eso porque? , curiosidad :D.
El comando cp tiene modo recursivo. Si tienes directorios dentro de otros te recomiendo usarlo ;)
9 respuestas