Findstr: esempi e suggerimenti utilizzando questo pratico strumento di Windows CMD

Per chi non lo sapesse, uno strumento di ricerca di modelli come findstr potrebbe sembrare inutile. Ma quando si ha 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 avrebbero già familiarità con l'incredibile utilità del comando Grep e findstr svolge un ruolo simile in Microsoft Windows . Puoi combinarlo con altri comandi(other commands) usando pipe o semplicemente eseguirlo direttamente per analizzare più file di testo. Diamo un'occhiata a come funziona findstr con alcuni esempi.

Usando 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(Command Prompt) e provalo.

findstr SFC esempio1.txt(findstr SFC example1.txt )

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

Parametri

Puoi personalizzare ulteriormente il funzionamento di findstr includendo parametri opzionali. Switch come /B o /modificano il comportamento di findstr, imponendo condizioni aggiuntive alla ricerca. Per esempio:

findstr /I SFC example1.txt

L'inclusione di /I come parametro rende la ricerca senza distinzione tra maiuscole e minuscole, consentendo la corrispondenza di tutte le citazioni del termine, indipendentemente dalle lettere maiuscole. Puoi trovare l'elenco di tutti i parametri di findstr nei documenti Microsoft ufficiali(official Microsoft docs) .

Modelli opzionali

I parametri non sono l'unico modo per personalizzare findstr. Racchiudere la <string> 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(findstr “SFC DISM” example1.txt )

Quanto sopra restituirà 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 cercare tra più file. Mutevolein un'espressione regolare fa in modo che il comando cerchi il modello specificato in tutti i file che corrispondono.

findstr SFC *.txt

L'uso del carattere jolly fa corrispondere l'espressione regolare a tutti i file di testo nella directory corrente e nelle sue sottodirectory. I risultati sono allo stesso modo separati per nomi 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(Just) aggiungere una pipe dopo la fine del comando target e invocare findstr senza a.

dir | findstr .txt

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

Si può anche prendere il percorso più lungo per reindirizzare l'output a un file di testo(redirecting the output to a text file) e quindi utilizzare findstr sul file di testo, ma è più facile tagliare l'intermediario.

Applicazioni di Findstr in Windows

Gli usi ovvi di findstr sono immediatamente evidenti dalla sola 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 vede l'uso 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 effettive applicazioni 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 i nomi dei file usando le espressioni regolari. Ma con findstr, puoi cercare file che condividono altri attributi, come l'ora o la data di creazione.

Si supponga(Suppose) che si sia verificato un errore alle 18:43 e si desidera individuare tutti i file di registro creati in quel momento. Con il solo comando dir, dovrai setacciare 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 i file creati in una data particolare o ottenere un elenco di directory.

dir | findstr DIR

Filtraggio delle informazioni di rete(Network Information) 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 pipe dell'output di netstat in findstr ti consente di cercare connessioni con proprietà specifiche. Ad esempio, è così che puoi ottenere un elenco di tutte le connessioni stabilite.

netstat | findstr ESTABLISHED

Questo trucco è utile quando si diagnosticano problemi di rete. Puoi anche usare 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 usare findstr per estrarre un particolare tipo di indirizzo IP senza dover scorrere tutto.

ipconfig | findstr Temporary

È possibile estendere questo metodo per ottenere qualsiasi informazione da ipconfig, dalle subnet mask agli indirizzi del gateway.

Analisi dei file di script

Qualunque sia il linguaggio di programmazione in cui codifichi, i file di script sono in definitiva solo testo. Ciò significa che puoi utilizzare findstr per analizzare gli script e recuperare sezioni specifiche senza scorrere l'intero codice.

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

findstr se script.ahk(findstr if script.ahk )

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

findstr /N if script.ahk

Vale la pena usare Findstr?

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

Poiché tutti i comandi del terminale forniscono un output basato su testo, findstr può sempre essere utilizzato per individuare i dati rilevanti. Dalla risoluzione dei problemi di rete(troubleshooting network issues) 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 attraversare il contenuto dei file di testo. È possibile 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 uno che intende familiarizzare con l'interfaccia della riga di comando.



About the author

Sono un ingegnere informatico con oltre 10 anni di esperienza nel settore del software. Sono specializzato nella creazione e manutenzione di applicazioni software individuali e aziendali, nonché nello sviluppo di strumenti di sviluppo per piccole imprese e grandi organizzazioni. Le mie capacità risiedono nello sviluppo di una solida base di codice, negli strumenti di debug e test e nel lavorare a stretto contatto con gli utenti finali per garantire che le loro applicazioni funzionino perfettamente.



Related posts