Il comando Findstr su Windows è utile per la ricerca di pattern di testo specifici nei file. La sua funzionalità è simile al comando grep sul sistema operativo Linux. Puoi trovare sotto la sintassi di ‘findstr’ per vari casi d’uso.

Cerca testo/stringa in un file:

findstr pattern filename

Ad esempio, per cercare la stringa ‘Windows’ nel file di testo CLItips.txt, il comando sarebbe come di seguito.

findstr Windows CLItips.txt

Si noti che il comando precedente cerca esattamente ‘Windows’., Considera caso per impostazione predefinita. Quindi, se hai una riga che ha la parola ‘windows’, non verrà stampata nell’output del comando precedente.

Ignora caso di testo:

È possibile aggiungere / I passare a ignorare il caso nella ricerca. Quindi, se si esegue ‘ findstr windows / I CLItips.txt’, fa la corrispondenza del modello senza distinzione tra maiuscole e minuscole.

Cerca una qualsiasi delle parole date

Se vuoi stampare le righe con una qualsiasi delle parole date, puoi racchiudere l’elenco delle parole tra virgolette nel comando findstr.,

findstr "word1 word2 word3.." filename.txt
findstr "Apple Orange" fruits.txt

Questo comando stampa una riga se ha la parola ‘Apple’ o la parola ‘Orange’ o entrambe le parole.

Cerca pattern con più parole

findstr /C:"word1 word2 word3..." filename

/ C indica che il pattern di ricerca deve essere abbinato letteralmente.

Ad esempio, per cercare la stringa “Apple Ball Cat” nel file Book.txt, il comando sarebbe il seguente

 findstr /C:"Apple Ball Cat" Book.txt

Cerca con espressioni regolari

Puoi usare espressioni regolari con findstr / R switch. Il comando tipico sarebbe il seguente.,

findstr /R pattern filename.txt

Qui il modello può essere specificato usando espressioni regolari.

Esempi:
Cerca l’occorrenza di tutte le parole che terminano con ‘xyz’ in un file.

findstr /R *xyz filename.txt

Cerca il testo in tutti i file in una directory corrente

Puoi usare il carattere jolly ‘*” per specificare che tutti i file in una directory devono essere cercati per la stringa specificata.
Ad esempio, per cercare ‘windows’ in tutti i file nella directory corrente, è possibile utilizzare il comando seguente.,

findstr /I windows *

Per cercare tutti i file di testo nella directory C:\data:

findstr /I windows C:\data\*.txt

Cerca più stringhe

Se hai bisogno di cercare più stringhe, puoi farlo con lo script batch sottostante.

@echo offfor /F %%i in (pattern.txt) do (echo Files containing %%ifindstr /M /C:%%i /S *.txt)

‘pattern.txt ‘ è il file con le stringhe (una per riga) che devono essere cercate. Il comando precedente cerca solo file di testo. È possibile personalizzare il comando findstr nello script per cercare nei file con altre estensioni. L’aggiunta dell’opzione ‘/ M ‘ al comando causa la stampa solo dei nomi dei file.,

Stampa solo le righe in cui la stringa data si trova all’inizio della riga.

È possibile aggiungere /B interruttore per indicare che la stringa specificata deve essere all’inizio della riga.

findstr /B /C:windows CLItips.txt

Stampa solo le righe in cui la stringa data si trova alla fine della riga

findstr /E /C:windows CLItips.txt

Stampa i numeri di riga per tutte le righe corrispondenti.

È possibile aggiungere /N switch al comando findstr per stampare i numeri di riga per le linee corrispondenti.

Stampa solo i nomi dei file

finstr /M /C:"pattern" *.log

Questo comando cerca il pattern in all *.,file di registro, e quindi stampa solo i nomi dei file con il modello. Anche se un file ha più occorrenze del modello, viene stampato solo una volta da findstr.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *