Utilizzo del comando Findstr
Il comando “Trova” di solitoèadatto per la maggior parte delle tue esigenze (vedi il suggerimento intitolato Using the Find Command), ma c’è anche un comando “Findstr” che è più potente per quei tempi quando è necessario trovare stringhe in determinate circostanze. Nella sua forma più semplice, Findstr assomiglia a Find:
C:\> FINDSTR "document" Barry?.tmp
Findstr accetta molte più opzioni di Find, e puoi vedere un elenco completo digitando quanto segue:
C:\> FINDSTR /?
La prima differenza che noterai tra l’output di Find e
Findstr è che quest’ultimo antepone ad ogni riga trovata il nome del file in cui si trova: (Vedi Figura 1.)
Figura 1. Findstr visualizza i nomi dei file in linea con la stringa trovata.
Ci sono più di una dozzina di opzioni disponibili con Findstr, ma invece di esaminarle tutte, ti dirò solo alcune delle funzioni più importanti (imo) disponibili su ciò che ha il comando Trova. La prima cosa che menzionerò è che puoi cercare più stringhe contemporaneamente. Se la stringa di ricerca che stai cercando contiene spazi, Findstr presumerà che tu voglia trovare stringa1 o stringa2 o stringa3, ecc. Ad esempio, se vuoi trovare tutte le righe che contengono “documento” o “testo” devi solo separare le parole con uno spazio in questo modo:
(Vedi figura 2.)
Figura 2. Ricerca di due stringhe contemporaneamente.
Un’altra caratteristica interessante è che Findstr può cercare file nelle sottodirectory.
Diciamo che ho Barry1.tmp nella mia directory \ Temp e Barry2.tmp nella mia directory \ Temp \ Temp2. Dalla directory \ Temp posso usare “/ S”
passare per dire a Findstr di cercare nelle sottodirectory. Assomiglia a questo:
(Vedi figura 3.)
Figura 3. Utilizzo di / S per cercare nelle sottodirectory.
Ci sono molte più funzionalità che potrei mostrarti, ma un’ultima ha davvero un avviso speciale. Questo è il concetto di ricerca utilizzando espressioni regolari. “Introduzione alle espressioni regolari” è trattato in un altro suggerimento, ma voglio mostrarti come è possibile utilizzare un’espressione regolare in Findstr.
Supponiamo che tu voglia cercare la parola “documento”, ma solo quelle occorrenze seguite da un segno di punteggiatura come una virgola o un punto. L’espressione regolare per questo tipo di ricerca è “document [,.]”. Indichi a Findstr che la tua stringa di ricerca utilizza un’espressione regolare specificando l’opzione “/ R” e aggiungiamo l’opzione “/ N” in modo da vedere i numeri di riga. Quello che si ottiene è questo: (Vedi Figura 4.)
Figura 4. Ricerca utilizzando un’espressione regolare.
C’è ancora di più in Findstr, ma spero di aver stuzzicato il tuo appetito fino a dove inizierai a usarlo quando avrai bisogno di fare un po ‘di fantasia alla ricerca di stringhe nei file.
Questo suggerimento (13505) si applica a Windows 7, 8 e 10.