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 grep
programma stesso può eseguire ricerche ricorsive e accetta anche un'opzione per cercare solo determinati file. Quanto segue equivale ai tuoi due find
comandi.
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?