findstr
Cerca modelli di testo nei file.
Sintassi
findstr [/b] [/e] [/l | /r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/f:<file>] [/c:<string>] [/g:<file>] [/d:<dirlist>] [/a:<colorattribute>] [/off[line]] <strings> [<drive>:][<path>]<filename>[ ...]
Parametri
Parametro | Descrizione |
---|---|
/b | Se è all'inizio di una riga, corrisponde al modello di testo. |
/e | Se alla fine di una riga, corrisponde al modello di testo. |
/l | Le stringhe di ricerca letteralmente processi. |
/r | Processi di ricercano di stringhe come espressioni regolari. Si tratta dell'impostazione predefinita. |
/s | Cerca la directory corrente e tutte le sottodirectory. |
/i | Ignora le lettere maiuscole e minuscole durante la ricerca della stringa. |
/x | Stampa le righe che corrispondono esattamente. |
/v | Stampa solo le righe che non contengono una corrispondenza. |
/n | Visualizza il numero di ogni riga corrispondente. |
/m | Se un file contiene una corrispondenza, viene stampato solo il nome del file. |
/o | Offset carattere viene stampato prima di ogni riga corrispondente. |
/ p | Ignora i file con caratteri non stampabili. |
/ [offline] | Non ignorare i file che sono impostato l'attributo non in linea. |
/f:<file> |
Ottiene un elenco di file dal file specificato. |
/c:<string> |
Utilizza il testo specificato come stringa di ricerca letterale. |
/g:<file> |
Ottiene ricerca stringhe dal file specificato. |
/d:<dirlist> |
Cerca l'elenco di directory specificato. Ogni directory devono essere separati da un punto e virgola (;), ad esempio dir1;dir2;dir3 . |
/a:<colorattribute> |
Specifica gli attributi di colore con due cifre esadecimali. Tipo color /? Per ulteriori informazioni. |
<strings> |
Specifica il testo da cercare nel nome file. Obbligatorio. |
[\<drive>:][<path>]<filename>[...] |
Specifica il percorso e un file o file da cercare. Nome di almeno un file è obbligatorio. |
/? | Visualizza la Guida al prompt dei comandi. |
Commenti
Tutte le opzioni della riga di comando findstr devono precedere le stringhe e filename nella stringa di comando.
Le espressioni regolari usano sia caratteri letterali che meta-caratteri per trovare modelli di testo, anziché stringhe esatte di caratteri.
Un carattere letterale è un carattere che non ha un significato speciale nella sintassi delle espressioni regolari. corrisponde invece a un'occorrenza di tale carattere. Ad esempio, lettere e numeri sono caratteri letterali.
Un meta-carattere è un simbolo con significato speciale (operatore o delimitatore) nella sintassi delle espressioni regolari.
I metadati accettati sono:
Metacarattere Valore .
Carattere jolly - Qualsiasi carattere *
Repeat : zero o più occorrenze del carattere o della classe precedente. ^
Posizione iniziale della riga : inizio della riga. $
Posizione finale della riga: fine della riga. [class]
Classe di caratteri: qualsiasi carattere in un set. [^class]
Classe inversa : qualsiasi carattere non in un set. [x-y]
Intervallo : qualsiasi carattere compreso nell'intervallo specificato. \x
Escape : uso letterale di un meta-carattere. \<string
Posizione della parola iniziale : inizio della parola. string\>
Posizione della parola finale : fine della parola. I caratteri speciali nella sintassi delle espressioni regolari sono della massima potenza quando vengono utilizzati insieme. Ad esempio, usare la combinazione del carattere jolly (
.
) e del carattere di ripetizione (*
) per trovare una corrispondenza con qualsiasi stringa di caratteri:.*
Usare l'espressione seguente come parte di un'espressione più grande per trovare una corrispondenza con qualsiasi stringa che inizia con b e termina con ing:
Per cercare più stringhe in un set di file, è necessario creare un file di testo contenente ogni criterio di ricerca in una riga separata.
Utilizzare gli spazi per separare più stringhe di ricerca, a meno che l'argomento è preceduto da /c.
Esempio
Per cercare hello o there nel file x.y, digitare:
findstr hello there x.y
Per cercare hello there nel file x.y, digitare:
findstr /c:"hello there" x.y
Per trovare tutte le occorrenze della parola Windows (con una lettera iniziale maiuscola W) nel file proposal.txt, digitare:
findstr Windows proposal.txt
Per eseguire la ricerca in ogni file nella directory corrente e in tutte le sottodirectory che contenevano la parola Windows, indipendentemente dalla distinzione tra lettere maiuscole e minuscole, digitare:
findstr /s /i Windows *.*
Per trovare tutte le occorrenze di righe che iniziano con FOR e sono precedute da zero o più spazi (come in un ciclo di programma per computer) e per visualizzare il numero di riga in cui viene trovata ogni occorrenza, digitare:
findstr /b /n /r /c:^ *FOR *.bas
Per elencare i file esatti in cui si vuole eseguire la ricerca in un file di testo, usare i criteri di ricerca nel file stringlist.txt, per cercare i file elencati infilelist.txte quindi per archiviare i risultati nel file results.out, digitare:
findstr /g:stringlist.txt /f:filelist.txt > results.out
Per elencare ogni file contenente la parola computer all'interno della directory corrente e tutte le sottodirectory, indipendentemente dalla distinzione tra maiuscole e minuscole, digitare:
findstr /s /i /m \<computer\> *.*
Per elencare ogni file contenente la parola computer ed eventuali altre parole che iniziano con comp, ad esempio compliment e compete, digitare:
findstr /s /i /m \<comp.* *.*