Tengo un directorio, dir1 que contiene muchos archivos cuyos nombres terminan en .jpg o .png . Quiero copiar todos los .png archivos a dir2 que está vacío.
Este comando funciona:
find dir1 -name '*.png' -exec cp {} dir2 ;
pero este comando no:
find dir1 -name '*.png' -exec cp {} dir2 +
find: missing argument to `-exec'
También probé:
find dir1 -name '*.png' -exec cp {} -t dir2 +
find: missing argument to `-exec'
y:
find dir1 -name '*.png' -exec cp {} dir2 +
find: missing argument to `-exec'
Después de mirar esta página, incluso probé:
find dir1 -name '*.png' -exec cp {} dir2 {} +
find: Only one instance of {} is supported with -exec ... +
Esta página dice que:
-exec {} + se agregó en [versión] 4.2.12 en 2005
Mi versión de find es 4.4.2.
¿Qué estoy haciendo mal?
Respuesta aceptada:
Gracias a 'steeldriver', descubrí que la respuesta es porque la especificación POSIX prohíbe que algo esté entre {} y + después de -exec .