Risposte:
ack (o, su Debian / Ubuntu, ack-grep) ignorerà i file non sorgente come il controllo della versione o i binari. Molto utile.
per cercare solo i file .c e .h, come sopra:
ack-grep -i --cc "invalid preset"
la --cc(la forma più lunga è --type cc) guarda solo i file .c .h & .xs. L'elenco completo dei tipi di file è visualizzabile con ack-grep --help type. La maggior parte delle volte, non sarà particolarmente necessario --type, poiché in genere avrà solo i file da cercare e quindi i file che non vedrai per impostazione predefinita, come file binari, backup e file di controllo della versione.
Il grepprogramma stesso può eseguire ricerche ricorsive e accetta anche un'opzione per cercare solo determinati file. Quanto segue equivale ai tuoi due findcomandi.
grep -Ri --include=*.[ch] invalid\ preset .
Posso aggiungere qualcosa del genere al tuo ~/.bashrc
alias cppgrep='grep -Ri "--include=*.[hc]" "--include=*.cpp" "--include=*.hpp"'
-name '*.[ch]'il lavoro?