Hi all, I misread find(1) and did:
[weerdpom] $ find path/to/cam -name \*.JPG -exec cp {} path/to/store + find: -exec no terminating ";" or "+" That was somewhat surprising - there is a terminating "+". The error really is that the "+" doesn't follow immediately after the "{}" (which the manpage of course told me). Although it would be nice to be able to use tools like cp and mv to -exec with +, I suspect there to be dragons. So I'm proposing to change the error to point this out to the unsuspecting user. Cheers, Paul 'WEiRD' de Weerd Index: function.c =================================================================== RCS file: /home/OpenBSD/cvs/src/usr.bin/find/function.c,v retrieving revision 1.49 diff -u -p -r1.49 function.c --- function.c 9 Apr 2020 15:07:49 -0000 1.49 +++ function.c 12 Nov 2020 19:42:49 -0000 @@ -572,9 +572,14 @@ c_exec(char *unused, char ***argvp, int brace = 1; if (strcmp(*ap, ";") == 0) break; - if (strcmp(*ap, "+") == 0 && lastbrace) { - new->flags |= F_PLUSSET; - break; + if (strcmp(*ap, "+") == 0) { + if (lastbrace) { + new->flags |= F_PLUSSET; + break; + } else { + errx(1, "%s: \"+\" should follow {}", + isok ? "-ok" : "-exec"); + } } } -- >++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+ +++++++++++>-]<.>++[<------------>-]<+.--------------.[-] http://www.weirdnet.nl/