Come ignorare certi nomi di file usando "find"?
Uno dei miei comandi BASH preferiti è:
find . -name '*.*' -exec grep 'SearchString' {} /dev/null \;
che cerca il contenuto di tutti i file nella e sotto la directory corrente per la stringa di ricerca specificata. Come sviluppatore, questo è stato utile a volte.
A causa del mio progetto attuale, e della struttura del mio codebase, tuttavia, vorrei rendere questo comando BASH ancora più avanzato, non cercando alcun file che si trovi in o sotto una directory che contiene “.svn”, o qualsiasi file che finisca con “.html”
La pagina MAN per find mi ha un po’ confuso. Ho provato ad usare -prune, e mi ha dato un comportamento strano. Nel tentativo di saltare solo le pagine .html (per iniziare), ho provato:
find . -wholename './*.html' -prune -exec grep 'SearchString' {} /dev/null \;
e non ho ottenuto il comportamento che speravo. Credo che mi manchi il senso di -prune. Potreste aiutarmi?
Grazie