Su Linux/Unix c'è uno strumento a riga di comando chiamato grep
puoi usarlo per cercare più file per una stringa. Per esempi se volessi cercare strcpy
in tutti i file:
~/sandbox$ grep -rs "strcpy"*
test.c: strcpy(OSDMenu.name,"OSD MENU");
-r
fornisce ricerche in modo ricorsivo in modo da ottenere tutti i file in tutte le directory (da quella corrente) ricercati. -s
ignora gli avvisi, nel caso ti imbatti in file non leggibili.
Ora, se vuoi cercare qualcosa di personalizzato e non ricordi la custodia, ci sono opzioni come -i
per consentire ricerche senza distinzione tra maiuscole e minuscole.
~/sandbox$ grep -rsi "myint" *
test.c: int myInt = 5;
test.c: int MYINT = 10;
Puoi anche usare espressioni regolari nel caso in cui ti sei dimenticato esattamente come si chiamava (in effetti il nome, 'grep' deriva dal comando sed g/re/p -- global/regular expression/print:
~/sandbox$ grep -rsi "my.*" *
test.c: int myInt = 5;
test.c: int MYINT = 10;
test.c: float myfloat = 10.9;
installa cygwin se non stai usando *nix e usa find/grep, ad es.
find . -name '*\.[ch]' | xargs grep -n 'myfuncname'
Puoi usare grep per cercare tra i file usando il terminale/riga di comando.
grep -R "string_to_search" .
-R per essere ricorsivo, cerca anche in tutte le sottodirectory
Poi stringa che vuoi
Quindi è la posizione, . per la directory corrente