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.

Come utilizzare i comandi FindSTR e Select-String

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 /cviene 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, /sviene utilizzato per cercare la directory corrente e le sue sottodirectory. /iviene 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.)



About the author

Sono uno sviluppatore web con esperienza di lavoro sia con Windows 11 che con Windows 10. Sono anche un utente di Firefox da molti anni e sono diventato abbastanza abile nell'uso della nuovissima console di gioco Xbox One. I miei interessi principali risiedono nello sviluppo di software, in particolare nello sviluppo web e mobile, nonché nella scienza dei dati. Sono molto ben informato sui vari sistemi informatici e sul loro utilizzo, quindi posso fornire un feedback imparziale su vari programmi o servizi che potresti utilizzare.



Related posts