web-dev-qa-db-fra.com

osx find exec rm find: exec: opérateur ou opérateur principal inconnu

J'ai un tas de fichiers qui se terminent par "-e" que je veux supprimer.

$ find . -name "*-e" exec rm {} \;
find: exec: unknown primary or operator

Le regex se développe-t-il d'une manière qui gâche tout?

22
freedrull

Ça devrait être:

find . -name "*-e" -exec rm '{}' \;

Ou mieux:

find . -name "*-e" -exec rm '{}' +

Selon man find:

-exec utility [argument ...] {} +
   Same as -exec, except that ``{}'' is replaced with as many pathnames as possible for 
   each invocation of utility. This behaviour is similar to that of xargs(1).
34
anubhava