Hai mai sentito parlare di FINDSTR e Select-String? Select-String è un cmdlet utilizzato per cercare testo e modelli in stringhe e file di input. È simile a grep su Linux e FINDSTR su Windows. In questa guida vediamo cosa e come utilizzare i comandi FINDSTR e Select-String in Windows 11/10.
Cos’è FINDSTR e come usare FINDSTR
FINDSTR è un comando utilizzato per trovare testo specifico nei file su Windows. Find String quando viene messo in corto diventa 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 il Resource Kit di Windows 2000 con il nome qgrep. È uno strumento integrato in Windows e il suo file è disponibile in formato.exe. FINDSTR non cerca byte nulli come gli spazi nel formato Unicode.
Esistono alcune regole di base per utilizzare il comando findstr sul prompt dei comandi o altri interpreti della riga di comando, sviluppati da Microsoft. Sono:
Ogni comando FINDSTR deve contenere una stringa seguita da un nome di 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 seguito sono riportati i metacaratteri accettati nella sintassi e il loro significato.
Dovresti creare un file di testo con cerca c riteria su una riga separata quando si desidera cercare più stringhe.Utilizzare gli spazi tra le stringhe per cercare più stringhe in un singolo comando ad eccezione della sintassi con/c.
Parametri e loro significato nella sintassi findstr
Utilizzo dei comandi findstr
1] Per cercare la parola microsoft o windows nel file xy, dovresti usare:
findstr microsoft windows xy
2] Per cercare per la parola Microsoft Windows nel file xy, dovresti usare:
findstr/c:”microsoft windows”xy
Nel comando sopra/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 al tipo case, usa:
findstr/s/i Microsoft *.*
Nella sintassi precedente,/s è usato per cercare nella directory corrente e nelle sue sottodirectory./i viene utilizzato per ignorare il tipo maiuscole e minuscole (M maiuscola) nella stringa Microsoft.
5] Se si desidera trovare righe che iniziano con A con più spazi prima della parola e si desidera visualizzare il numero di riga in cui le stringhe si sono verificate, usa:
findstr/b/n/r/c:^ *To *.bas
6] Se vuoi cercare più stringhe in più file con i criteri di ricerca in stringlist.txt e l’elenco dei file in filelist.txt e vuoi vedere i risultati memorizzati nel file result.out, usa:
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 nelle sue sottodirectory, usa:
findstr/s/i/m \
8] Se vuoi trovare file che contengono thewindowsclub e altre parole che iniziano con simili tesi, termometro, ecc., usa:
findstr/s/i/m \ Questi sono i modi in cui puoi usare i comandi findstr negli interpreti della riga di comando come il prompt dei comandi, ecc. devono 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. Immagina stai scrivendo pezzi di codice in PowerShell e hai perso traccia di determinate stringhe e testo in quel file PowerShell. Devi trovarlo in molte migliaia di righe di codice all’interno di migliaia di stringhe e parole. Arriva 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 True o False. Puoi anche usarlo per visualizzare tutto il testo tranne la corrispondenza dell’espressione che usi nel comando. I caratteri jolly che utilizzi in FINDSTR possono essere utilizzati 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 materiali non è presente nel file, Select-String assumerà il file come UTF8. Microsoft ha immaginato e sviluppato i seguenti parametri che devono essere utilizzati nella sintassi. -AllMatches È usato per cercare tutte le corrispondenze in una riga rispetto alla prima corrispondenza nella riga che normalmente fa Select-Sting. -CaseSensitive Rappresenta che la corrispondenza fa distinzione tra maiuscole e minuscole. Per impostazione predefinita, Select-String non fa distinzione tra maiuscole e minuscole. -Context È utilizzato per acquisire il numero specificato di righe immesse prima e dopo la riga della corrispondenza. Se inserisci 1, acquisisce una riga prima e dopo la corrispondenza. -Culture Ci sono alcune culture come ordinale, invariante e così via nella codifica. Questo parametro è utilizzato per specificare la cultura nella sintassi. -Codifica È utilizzato per specificare il formato di codifica del testo in file come ASCII, UTF8, UTF7, Unicode, ecc. -Escludi Questo parametro viene utilizzato per escludere determinati testi nel file. -Includi Questo parametro viene utilizzato per includere un determinato testo nel file. -InputObject Si usa per specificare il testo da cercare. -List Si usa per recuperare l’elenco dei file che corrispondono al testo. -LiteralPath Si usa 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 È utilizzato per trovare il testo che non corrisponde al modello specificato. -Path È usato per specificare il percorso da cercare insieme all’uso dei caratteri jolly. -Pattern Il parametro è usato per trovare la corrispondenza in ogni riga come pattern. -Quiet Questo parametro viene utilizzato per ottenere l’output in valori booleani come True o False. -Raw È utilizzato per vedere solo gli oggetti corrispondenti anziché le informazioni sulla corrispondenza. -SimpleMatch Il parametro viene utilizzato per specificare una corrispondenza semplice anziché una corrispondenza con un’espressione regolare. FINDSTR è un file eseguibile dell’era pre-PowerShell utilizzato per cercare testo e stringhe nei file. Select-String è un cmdlet di PowerShell utilizzato per cercare testo e modelli nei file. Rispetto a FINDSTR, Select-String è il cmdlet più potente e complesso che visualizza molte informazioni sulla corrispondenza. Select-String è l’equivalente PowerShell di grep disponibile su Windows. Funziona allo stesso modo di grep e fornisce informazioni dettagliate sulla corrispondenza in base ai parametri che utilizziamo nella sintassi. 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: Come controllare la versione di PowerShell in Windows. Cos’è Select-String e i suoi parametri
Parametri di Select-String
Differenza tra FINDSTR e Select-String
Qual è l’equivalente PowerShell di grep?
FINDSTR funziona su file Word?