Vous pouvez utiliser le -path
pour le trouver et le combiner avec l'option -not
opérateur.
find . ! -path "*/test/*" -type f -name "*.js" ! -name "*-min-*" ! -name "*console*"
Veuillez noter deux choses
-
-path
doit être le premier argument
- le modèle correspond à l'ensemble du nom de fichier, donc
-path test
ne correspondra à rien, jamais
Au fait, je ne sais pas pourquoi vous utilisez des parenthèses, cela ne fait aucune différence. Elles ne sont utilisées que pour la préséance, pour des constructions telles que ! \( -name '*bla*' -name '*foo*' \)
(c'est-à-dire qu'il ne faut pas trouver des choses qui ont à la fois bla
y foo
).
Un raffinement supplémentaire : pas besoin d'utiliser la boucle bash, vous pouvez simplement faire
find . ... -exec cat {} \; -exec echo \;
où ... sont les autres arguments de find
.