Findstr: esempi e suggerimenti sull'utilizzo di questo pratico strumento Windows CMD


Per chi non lo sapesse, uno strumento di ricerca di pattern come findstr può sembrare inutile. Ma quando hai a che fare con file di registro generati dal sistema o output della riga di comando contenenti centinaia di righe di testo, findstr è proprio lo strumento di cui hai bisogno.

Gli utenti di un sistema operativo Linux avranno già familiarità con l'incredibile utilità del comando Grep e findstr svolge un ruolo simile in Microsoft Windows. Puoi combinarlo con altri comandi utilizzando pipe o semplicemente eseguirlo direttamente per analizzare più file di testo. Diamo un'occhiata a come funziona findstr con alcuni esempi.

Utilizzando il comando Findstr

La sintassi di base è semplice: findstr , dove è il modello da cercare e è l'indirizzo del file in cui cercare. Apri il prompt dei comandi e provalo .

findstr SFC esempio1.txt

Questo comando troverà e restituirà tutte le righe contenenti la stringa di ricerca SFC. Tieni presente che, per impostazione predefinita, findstr fa distinzione tra maiuscole e minuscole, quindi qualsiasi menzione di SFC non verrà trovata.

Parametri

Puoi personalizzare ulteriormente il funzionamento di findstr includendo parametri facoltativi. Interruttori come /B o /I modificano il comportamento di findstr, imponendo condizioni aggiuntive alla ricerca. Ad esempio:

findstr /I SFC esempio1.txt

Includendo /I come parametro, la ricerca non fa distinzione tra maiuscole e minuscole, consentendo la corrispondenza di tutte le menzioni del termine, indipendentemente dalle lettere maiuscole. Puoi trovare l'elenco di tutti i parametri di findstr in documenti Microsoft ufficiali.

Modelli facoltativi

I parametri non sono l'unico modo per personalizzare findstr. Racchiudere tra virgolette, ad esempio, consente di specificare più modelli, fornendo una corrispondenza se viene trovata una qualsiasi delle stringhe di testo.

findstr “SFC DISM” esempio1.txt

Quanto sopra restituirà le righe corrispondenti contenenti uno dei termini. Ciò lo rende utile quando si cerca una menzione per un elemento con nomi diversi.

Espressioni regolari

Findstr è in grado di effettuare ricerche in più file. La modifica di in un'espressione regolare fa sì che il comando cerchi il modello specificato in tutti i file che corrispondono..

findstr SFC *.txt

L'utilizzo del carattere jolly abbina la regex a tutti i file di testo nella directory corrente e nelle sue sottodirectory. Allo stesso modo i risultati sono separati per nome di file, permettendoti di vedere quale riga ha avuto origine da quale file.

Tubi

Come la maggior parte dei comandi cmd, findstr può essere utilizzato anche sull'output di altri comandi. Basta aggiungere una pipe dopo la fine del comando di destinazione e invocare findstr senza .

dir | findstr.txt

Esegue una ricerca findstr sull'output del comando dir, restituendo l'elenco dei file che termina con .txt. Naturalmente, questo particolare esempio è inutile nella pratica poiché dir può già individuare file dello stesso tipo con un'espressione regolare.

Si può anche prendere il percorso più lungo di reindirizzare l'output in un file di testo e quindi utilizzare findstr sul file di testo, ma è più semplice eliminare gli intermediari.

Applicazioni di Findstr in Windows

Gli usi ovvi di findstr sono immediatamente evidenti anche solo dalla sintassi. Puoi cercare file di testo con una stringa di testo specifica o vedere se una stringa particolare è contenuta in un file.

Questo, sebbene teoricamente utile, raramente viene utilizzato al di fuori di rari casi. Nell'era dei servizi cloud come Google Docs, la maggior parte delle persone non ha più molti file di testo.

Le applicazioni effettive di findstr sono un po' più sottili e implicano risultati più potenti. Ecco alcuni degli esempi più interessanti.

Trovare tipi specifici di file

Il comando dir include già l'opzione per cercare nomi di file utilizzando le espressioni regolari. Ma con findstr puoi cercare file che condividono altri attributi, come l'ora o la data di creazione.

Supponiamo che si sia verificato un errore alle 18:43 e che desideri individuare tutti i file di registro creati in quell'ora. Con il solo comando dir, dovrai vagliare manualmente i risultati o ottenere tutti i file di registro e confrontarli. Usando findstr, questo diventa un semplice comando.

dir | findstr 06:43

Puoi provare lo stesso trucco per trovare file creati in una data particolare o ottenere un elenco di directory.

dir | findstr DIR

Filtraggio delle informazioni di rete con Netstat.

Netstat è un pratico comando di Windows che ti fornisce tutte le informazioni sulle connessioni di rete del tuo computer: troppe informazioni, ed è qui che entra in gioco findstr.

Il convogliamento dell'output di netstat in findstr ti consente di cercare connessioni con proprietà specifiche. Ad esempio, in questo modo puoi ottenere un elenco di tutte le connessioni stabilite.

netstat | findstr STABILITO

Questo trucco è utile quando si diagnosticano i problemi di rete. Puoi anche utilizzare findstr con un PID dell'applicazione per trovare tutte le connessioni aperte da un particolare processo.

netstat -o | findstr 13120

Ottenere indirizzi IP specifici

Il comando ipconfig consente di visualizzare i dettagli di tutte le interfacce di rete dei sistemi, inclusi gli indirizzi IP. Puoi utilizzare findstr per estrarre un particolare tipo di indirizzo IP senza dover scorrere tutto.

ipconfig | findstr Temporaneo

Puoi estendere questo metodo per ottenere qualsiasi informazione da ipconfig, dalle maschere di sottorete agli indirizzi gateway.

Analisi dei file di script

Indipendentemente dal linguaggio di programmazione utilizzato, i file di script sono in definitiva solo testo. Ciò significa che puoi utilizzare findstr per analizzare script e recuperare sezioni specifiche senza esplorare l'intero codice.

Supponiamo di voler vedere come è stata utilizzata l'istruzione if in un particolare script. Possiamo usare il seguente comando:

findstr if script.ahk

Questo non solo mostrerà le righe che utilizzano l'istruzione if, ma ci mostrerà anche le espressioni utilizzate. Puoi anche includere il parametro /N per visualizzare i numeri di riga, il che è molto utile per i file di script.

findstr /N if script.ahk

Vale la pena utilizzare Findstr?

La principale difficoltà nella navigazione nell'interfaccia della riga di comando è la quantità di testo che è necessario sfogliare. Findstr è uno strumento essenziale per estrarre informazioni utili e filtrare la spazzatura.

Poiché tutti i comandi del terminale forniscono un output basato su testo, findstr può sempre essere utilizzato per individuare i dati rilevanti. Da risoluzione dei problemi di rete alla ricerca dei file corretti, ogni azione è resa più efficiente con findstr..

Anche al di fuori della sua sinergia con altri comandi, findstr è utile per la sua capacità di esplorare il contenuto dei file di testo. Puoi trovare errori specifici nei file di registro generati dalla macchina o recuperare sezioni di codice in uno script complesso.

In breve, findstr è uno strumento indispensabile nell'arsenale di qualsiasi utente Windows avanzato, in particolare di chi intende acquisire familiarità con l'interfaccia della riga di comando.

.

Post correlati:


27.09.2022