Findstr – Cercare Testo in un File con le Espressioni Regolari

Findstr è uno strumento disponibile in Windows e può essere utilizzato da linea di comando per cercare un determinato testo all’interno dei file utilizzando le espressioni regolari.

La sintassi è la seguente
findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:File] [/f:File] [/c:Stringa] [/d:ElencoDir] [/a:AttributoColore] [Stringhe] [[Unità:][Percorso] NomeFile [..]
/b – Trova la corrispondenza con il testo se si trova all’inizio di una riga.
/e – Trova la corrispondenza con il testo se si trova a fine riga.
/l – Utilizza le stringhe di ricerca in modo letterale.
/r – Utilizza le stringhe di ricerca come espressioni regolari. Se non si utilizza il parametro /l, il comando findstr interpreta tutti i metacaratteri come espressioni regolari.
/s – Cerca file corrispondenti nella directory corrente e in tutte le sottodirectory.
/i – Specifica che la ricerca non deve fare distinzione tra maiuscole e minuscole.
/x – Stampa le righe che corrispondono esattamente.
/v – Stampa soltanto le righe che non contengono una corrispondenza.
/n – Stampa il numero della riga prima di ciascuna riga corrispondente.
/m – Stampa solo il nome del file, se il file contiene una corrispondenza.
/o – Stampa la posizione prima di ciascuna riga corrispondente.
/p – Ignora i file contenenti caratteri non stampabili.
/offline – Elabora i file con l’attributo non in linea.
/f:File – Legge l’elenco di file dal file specificato.
/c:Stringa – Utilizza il testo specificato come stringa di ricerca letterale.
/g:File – Richiama le stringhe di ricerca dal file specificato.
/d:ElencoDir – Effettua la ricerca tra le directory presenti in un elenco delimitato da virgole.
/a:AttributoColore -Specifica gli attributi del colore mediante due cifre esadecimali.
Stringhe – Testo specificato da cercare in NomeFile.
[ Unità:][ Percorso] NomeFile […] – Specifica uno o più file da cercare.

I metacaratteri supportati sono i seguenti
. – Carattere jolly, qualsiasi carattere
* – Carattere di ripetizione, zero o più occorrenze del carattere o della classe precedente.
^ – Posizione nella riga, inizio riga.
$ – Posizione nella riga, fine riga
[classe] – Classe di caratteri, qualsiasi carattere compreso nel set.
[^classe] – Classe inversa, qualsiasi carattere non compreso nel set.
[X-y] – Intervallo, qualsiasi carattere all’interno dell’intervallo specificato.
\X – Escape, utilizzo letterale del metacarattere X.
\<xyz – Posizione nella parola, inizio parola
xyz\> – Posizione nella parola, fine parola

Inserire uno spazio tra le stringhe di ricerca se l’argomento non contiene il prefisso /c. Per cercare test o test1 nel file prova, digitare
findstr “test test1” prova

Per cercare test test1 nel file prova, digitare:
findstr /c: “test test1” prova

Per cercare tutte le occorrenze della parola Test con l’iniziale maiuscola nel file prova.txt, digitare:
findstr Test prova.txt

Per cercare tutte le occorrenze della parola Test, senza distinzione tra maiuscole e minuscole, in tutti i file della directory corrente e nelle relative sottodirectory, digitare:
findstr /s /i Test *.*

Per cercare tutte le righe che contengono la parola test preceduta da un numero qualsiasi di spazi, come in un ciclo di un programma, e per includere il numero di ogni riga in cui si trova un’occorrenza, digitare:
findstr /b /n /c:” *test” *.*