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
.