Come utilizzare i comandi FINDSTR e Select-String in Windows 11/10
Hai mai sentito parlare di FINDSTR e Select-String ? Select-String è un cmdlet utilizzato per cercare testo e modelli nelle stringhe e nei file di input. È simile a grep su Linux e FINDSTR su Windows . In questa guida, vediamo cosa e come utilizzare i comandi FINDSTR(FINDSTR ) e Select-String in Windows 11/10.
UN
Che cos'è FINDSTR e come utilizzare FINDSTR
FINDSTR è un comando utilizzato per trovare testo specifico nei file su Windows . Trova(Find) String quando messo in breve è diventato FINDSTR . Viene anche utilizzato per trovare file con testo specifico. Esistono vari comandi FINDSTR per eseguire varie funzioni. È stato rilasciato per la prima volta con Windows 2000 Resource Kit con il nome qgrep . È uno strumento integrato in Windows e il suo file è disponibile in formato .exe. FINDSTR non ricerca byte nulli come gli spazi nel formato Unicode .
Esistono alcune regole di base per utilizzare il comando findstr sul prompt dei comandi(Command Prompt) o altri interpreti della riga(Command Line Interpreters) di comando , sviluppati da Microsoft . Sono:
- Ogni comando FINDSTR deve contenere una stringa seguita da un nome file.
- È possibile utilizzare caratteri letterali e metacaratteri nei comandi FINDSTR . I caratteri letterali non hanno alcun significato speciale nella sintassi. Lettere e numeri sono chiamati caratteri letterali. I meta-caratteri sono simboli che hanno significati specifici per ciascuno di essi. I seguenti sono i metacaratteri accettati nella sintassi e i loro significati.
Meta-character | Value |
---|---|
. | Wildcard – Any character |
* | Repeat – Zero or more occurrences of the previous character or class. |
^ | Beginning line position – Beginning of the line. |
$ | Ending line position – End of the line. |
[class] | Character class – Any one character in a set. |
[^class] | Inverse class – Any one character not in a set. |
[x-y] | Range – Any characters within the specified range. |
\x | Escape – Literal use of a meta-character. |
\<string | Beginning word position – Beginning of the word. |
string\> | Ending word position – End of the word. |
- È necessario creare un file di testo con criteri di ricerca su una riga separata quando si desidera cercare più stringhe.
- Utilizzare(Use) gli spazi tra le stringhe per cercare più stringhe in un unico comando, ad eccezione della sintassi con
/c
.
Parametri e loro significato nella sintassi findstr
Parametro
Descrizione
/b
Corrisponde(Matches) al modello di testo se si trova all'inizio di una riga.
/ e
Corrisponde(Matches) al modello di testo se si trova alla fine di una riga.
/l
Elabora letteralmente le stringhe di ricerca.
/r
Elabora le stringhe di ricerca come espressioni regolari. Questa è l'impostazione predefinita.
/S
Cerca(Searches) nella directory corrente e in tutte le sottodirectory.
/io
Ignora il caso dei caratteri durante la ricerca della stringa.
/X
Stampa le linee che corrispondono esattamente.
/v
Stampa solo le righe che non contengono una corrispondenza.
/n
Stampa il numero di riga di ciascuna riga che corrisponde.
/m
Stampa solo il nome del file se un file contiene una corrispondenza.
/o
Stampa l'offset dei caratteri prima di ogni riga corrispondente.
/p
Salta i file con caratteri non stampabili.
/disconnesso]
Non ignora i file con l'attributo offline impostato.
/f:<file>
Ottiene un elenco di file dal file specificato.
/c:<stringa>
Utilizza il testo specificato come stringa di ricerca letterale.
/g:<file>
Ottiene le stringhe di ricerca dal file specificato.
/d:<dirlist>
Cerca(Searches) nell'elenco di directory specificato. Ogni directory deve essere separata da un punto e virgola (;), per esempio dir1;dir2;dir3
.
/a:<attributocolore>
Specifica gli attributi del colore con due cifre esadecimali. Digitare per ulteriori informazioni.color
/?
<stringa>
Specifica il testo da cercare in nomefile(filename) . Necessario.
<span “>[\<unità>:][<percorso>]<nomefile>[…]
Specifica la posizione e il file o i file in cui cercare. È richiesto almeno un nome file.
/?
Visualizza la Guida al prompt dei comandi.
Utilizzo dei comandi findstr
1] Per cercare la parola microsoft o windows nel file xy, dovresti usare:
findstr microsoft windows x.y
2] Per cercare la parola microsoft windows nel file xy, dovresti usare:
findstr /c:"microsoft windows" x.y
Nel comando precedente /c
viene utilizzato per cercare il testo specificato "microsoft windows" nel file.
3] Se vuoi trovare le occorrenze della parola Microsoft con la M maiuscola nel file di testo twc.txt, dovresti usare:
findstr Microsoft twc.txt
4] Se vuoi cercare una parola specifica Microsoft in una directory e nelle sue sottodirectory senza dare importanza alla digitazione dei casi, usa:
findstr /s /i Microsoft *.*
Nella sintassi sopra, /s
viene utilizzato per cercare la directory corrente e le sue sottodirectory. /i
viene utilizzato per ignorare il tipo case (M maiuscola) nella stringa Microsoft .
5] Se si desidera trovare le righe che iniziano con A con più spazi prima della parola e si desidera visualizzare il numero di riga in cui si sono verificate le stringhe, utilizzare:
findstr /b /n /r /c:^ *To *.bas
6] Se si desidera cercare più stringhe in più file con criteri di ricerca in stringlist.txt e l'elenco dei file in filelist.txt e si desidera visualizzare i risultati memorizzati nel file result.out, utilizzare:
findstr /g:stringlist.txt /f:filelist.txt > results.out
7] Se vuoi trovare i file che contengono la parola thewindowsclub in una particolare directory e le sue sottodirectory, usa:
findstr /s /i /m \<thewindowsclub\> *.*
8] Se vuoi trovare file che contengono thewindowsclub e altre parole che iniziano con like tesi, termometro, ecc, usa:
findstr /s /i /m \<the.* *.*
Questi sono i modi in cui puoi utilizzare i comandi findstr negli interpreti della riga di comando come Prompt dei comandi(Command Prompt) , ecc. Devi comprendere ogni parametro e la sua funzione, nonché i meta-caratteri e il loro significato per scrivere la sintassi e utilizzare il comando findstr regolarmente.
Cos'è Select-String e i suoi parametri
Immagina(Imagine) di scrivere blocchi di codice in PowerShell e di aver perso traccia di determinate stringhe e testo in quel file di PowerShell . Devi trovarlo in molte migliaia di righe di codice all'interno di migliaia di stringhe e parole. Viene fornito il comando Select-String che ti consente di cercare stringhe e testo in quei file di input di PowerShell . È simile a grep su Linux .
Select-String è un cmdlet utilizzato per cercare testo e modelli nelle stringhe e nei file di input. È simile a grep su Linux e FINDSTR su Windows . Quando viene utilizzato Select-String per cercare del testo, trova la prima corrispondenza in ogni riga e visualizza il nome del file, il numero di riga e l'intera riga in cui si è verificata la corrispondenza. Può essere utilizzato per trovare più corrispondenze per riga o per visualizzare il testo prima o dopo la corrispondenza, o per ottenere risultati in espressioni booleane come Vero(True) o Falso(False) . Puoi anche usarlo per visualizzare tutto il testo tranne la corrispondenza dell'espressione che utilizzare nel comando. I caratteri jolly(FINDSTR) utilizzati in FINDSTR(WildCards)può essere utilizzato anche in Select-String . Inoltre, Select-String funziona con diverse codifiche di file come ASCII , Unicode , ecc. Utilizza Byte-Order-Mark ( BOM ) per determinare la codifica del file. Se la distinta base(BOM) non è presente nel file, Select-String assumerà il file come UTF8 .
Parametri di Select-String
Microsoft ha previsto e sviluppato i parametri seguenti che devono essere utilizzati nella sintassi.
-AllMatches
Viene utilizzato per cercare tutte le corrispondenze in una riga anziché la prima corrispondenza nella riga che normalmente fa Select-Sting .
-CaseSensitive
Indica che la corrispondenza fa distinzione tra maiuscole e minuscole. Per impostazione predefinita, Select-String non fa distinzione tra maiuscole e minuscole.
-Context
Viene utilizzato per acquisire il numero specificato di righe immesse prima e dopo la riga della corrispondenza. Se inserisci 1, cattura una riga prima e dopo la partita.
-Culture
Ci sono alcune culture come ordinale, invariante, ecc. nella codifica. Questo parametro viene usato per specificare le impostazioni cultura nella sintassi.
-Encoding
Viene utilizzato per specificare il formato di codifica del testo in file come ASCII , UTF8 , UTF7 , Unicode , ecc.
-Exclude
Questo parametro viene utilizzato per escludere un determinato testo nel file.
-Include
Questo parametro viene utilizzato per includere un determinato testo nel file.
-InputObject
Viene utilizzato per specificare il testo da cercare.
-List
Viene utilizzato per recuperare l'elenco dei file che corrispondono al testo.
-LiteralPath
Viene utilizzato per specificare il percorso per la ricerca.
-NoEmphasis
In genere, Select-String evidenzia la corrispondenza nel file. Questo parametro viene utilizzato per evitare l'evidenziazione.
-NotMatch
Viene utilizzato per trovare il testo che non corrisponde al modello specificato.
-Path
Viene utilizzato per specificare il percorso da cercare insieme all'uso dei caratteri jolly.
-Pattern
Il parametro viene utilizzato per trovare la corrispondenza in ogni riga come modello.
-Quiet
Questo parametro viene utilizzato per ottenere l'output in valori booleani come (Boolean)True o False .
-Raw
Viene utilizzato per visualizzare solo gli oggetti corrispondenti anziché le informazioni sulla corrispondenza(Match) .
-SimpleMatch
Il parametro viene utilizzato per specificare una corrispondenza semplice anziché una corrispondenza con un'espressione regolare.
Differenza tra FINDSTR e Select-String
FINDSTR è un file eseguibile precedente all'era PowerShell utilizzato per cercare testo e stringhe nei file. Select-String è un cmdlet di PowerShell utilizzato per cercare testo e motivi nei file. Rispetto a FINDSTR , Select-String è il cmdlet più potente e complesso che mostra molte informazioni sulla corrispondenza.
Qual è l' equivalente di PowerShell di grep?(PowerShell)
Select-String è l' equivalente PowerShell di grep disponibile su (PowerShell)Windows . Funziona allo stesso modo di grep e fornisce informazioni dettagliate sulla corrispondenza in base ai parametri che utilizziamo nella sintassi.
FINDSTR funziona su file Word?
Sì, FINDSTR funziona su file di Word . Ma non può mostrare trova le corrispondenze anche se le stringhe che hai inserito sono presenti nel file. Può darti risultati in file binari nei formati .doc ma non nei formati .docx per alcuni motivi tecnici sconosciuti.
Lettura correlata(Related Read) : come controllare la versione di PowerShell in Windows.(How to check the PowerShell version in Windows.)
Related posts
Elenco dei comandi DISKPART e come usarli in Windows 11/10
Come visualizzare Command Line in Task Manager di Windows 11/10
Come uccidere un processo usando Command Line in Windows 10
ChkDsk Command Line Options, Switches, Parameters in Windows 10
Come ridimensionare un Video utilizzando Command-line con FFmpeg in Windows 10
Come eseguire il backup, Move, o Delete PageFile.sys allo spegnimento in Windows 10
Come disabilitare la casella Run Command (Win+R) in Windows 10
Abilita Network Connections mentre in Modern Standby su Windows 10
Genera un elenco di programmi di avvio tramite riga di comando o PowerShell
Come risolvere Disk Signature Collision problem in Windows 10
Come scambiare i dischi rigidi in Windows 10 con Hot Swap
Qual è lo Windows.edb file in Windows 10
Che cosa è RegAsm.exe? Come annullare la registrazione di una DLL utilizzando RegAsm.exe?
Come aprire Microsoft Store apps da Command Prompt
Microsoft Intune che non si sincronizza? Force Intune per sincronizzare in Windows 11/10
Come si gioca RTSP stream Via Command Line Interface usando FFmpeg
Come controllare lo Shutdown and Startup Log in Windows 10
Come aprire Command Prompt in una cartella in Windows 10
Come misurare Reaction Time in Windows 11/10
Taskbar notifiche non mostrando in Windows 10