Findstr: Eksempler og tips ved brug af dette praktiske CMD Windows-værktøj

For de uindviede kan et mønstersøgningsværktøj som findstr virke ubrugeligt. Men når du har at gøre med systemgenererede logfiler eller kommandolinjeoutput, der indeholder hundredvis af tekstlinjer, er findstr lige det værktøj, du har brug for.

Brugere af et Linux -operativsystem ville allerede være bekendt med den utrolige nytte af Grep - kommandoen, og findstr udfylder en lignende rolle i Microsoft Windows . Du kan kombinere det med andre kommandoer(other commands) ved hjælp af pipes eller bare køre det direkte for at parse gennem flere tekstfiler. Lad os se på, hvordan findstr fungerer med nogle få eksempler.

Brug af Findstr-kommandoen

Den grundlæggende syntaks er enkel – findstr , hvorer mønsteret at søge efter, oger adressen på filen, der skal søges i. Åbn kommandoprompt(Command Prompt) , og prøv det.

findstr SFC eksempel1.txt(findstr SFC example1.txt )

Denne kommando vil finde og udlæse alle linjer, der indeholder søgestrengen SFC . Bemærk, at findstr som standard skelner mellem store og små bogstaver, så eventuelle omtaler af SFC vil ikke blive matchet.

Parametre

Du kan yderligere tilpasse, hvordan findstr fungerer ved at inkludere valgfri parametre. Switche som /B eller /I ændrer opførselen af ​​findstr, hvilket pålægger yderligere betingelser for søgningen. For eksempel:

findstr /I SFC example1.txt

Inkludering af /I som en parameter gør søgningens store og små bogstaver ufølsomme, hvilket tillader alle omtaler af udtrykket at matche, uanset deres store bogstaver. Du kan finde listen over alle parametre for findstr i de officielle Microsoft-dokumenter(official Microsoft docs) .

Valgfrie mønstre

Parametre er ikke den eneste måde, du kan tilpasse findstr. Hvis du for eksempel omslutter <strengen> i anførselstegn, kan du angive flere mønstre, hvilket giver dig et match, hvis nogen af ​​tekststrengene findes.

findstr "SFC DISM" eksempel1.txt(findstr “SFC DISM” example1.txt )

Ovenstående vil returnere matchende linjer, der indeholder en af ​​termerne. Dette gør det nyttigt, når du leder efter en omtale for en vare med forskellige navne.

Regulære udtryk

Findstr er i stand til at søge gennem flere filer. Ændringtil et regulært udtryk får kommandoen til at søge efter det angivne mønster i alle filer, der matcher.

findstr SFC *.txt

Brug af jokertegnet matcher regex til alle tekstfiler i den aktuelle mappe og dens undermapper. Resultaterne er ligeledes adskilt af filnavne, så du kan se, hvilken linje der stammer fra hvilken fil.

Rør

Ligesom de fleste cmd-kommandoer kan findstr også bruges på output af andre kommandoer. Bare(Just) tilføj et rør efter slutningen af ​​målkommandoen og påkald findstr uden a.

dir | findstr .txt

Dette kører en findstr-søgning på outputtet af dir-kommandoen, og returnerer fillisten, der slutter med .txt . Selvfølgelig er dette særlige eksempel ubrugeligt i praksis, da dir allerede kan finde filer af samme type med et regulært udtryk.

Man kan også tage den længere vej med at omdirigere outputtet til en tekstfil(redirecting the output to a text file) og derefter bruge findstr på tekstfilen, men det er nemmere at skære mellemmanden.

Applikationer af Findstr i Windows

De åbenlyse anvendelser af findstr er let tydelige fra syntaksen alene. Du kan søge efter tekstfiler med en bestemt tekststreng eller se, om en bestemt streng er indeholdt i en fil.

Dette, selvom det er teoretisk nyttigt, ser sjældent brug uden for sjældne tilfælde. I en tid med skytjenester som Google Docs har de fleste mennesker ikke længere mange tekstfiler.

De faktiske applikationer af findstr er lidt mere subtile og involverer mere kraftfulde resultater. Her er nogle af de mere interessante eksempler.

Find specifikke filtyper

Kommandoen dir indeholder allerede muligheden for at søge efter filnavne ved hjælp af regulære udtryk. Men med findstr kan du søge efter filer, der deler andre attributter, såsom tidspunktet eller datoen for oprettelsen.

Antag(Suppose) , at der opstod en fejl kl. 06:43, og du vil finde alle logfiler, der er oprettet på det tidspunkt. Med dir-kommandoen alene bliver du nødt til manuelt at gennemse resultaterne eller hente alle logfilerne og sammenligne dem. Ved at bruge findstr bliver dette en simpel kommando.

dir | findstr 06:43

Du kan prøve det samme trick for at finde filer oprettet på en bestemt dato eller få en liste over mapper.

dir | findstr DIR

Filtrering af netværksoplysninger(Network Information) med Netstat

Netstat er en praktisk Windows -kommando, der giver dig alle oplysninger om din computers netværksforbindelser - for meget information, og det er her findstr kommer ind.

Piping af netstats output til findstr lader dig søge efter forbindelser med specifikke egenskaber. For eksempel er det sådan, du kan få en liste over alle etablerede forbindelser.

netstat | findstr ESTABLISHED

Dette trick er nyttigt, når du skal diagnosticere netværksproblemer. Du kan endda bruge findstr med en applikations- PID til at finde alle forbindelser, der åbnes af en bestemt proces.

netstat -o | findstr 13120

Indhentning af specifikke IP-adresser

Kommandoen ipconfig lader dig se detaljer om alle systemernes netværksgrænseflader, inklusive IP-adresser. Du kan bruge findstr til at udtrække en bestemt type IP-adresse uden at skulle rulle gennem det hele.

ipconfig | findstr Temporary

Du kan udvide denne metode til at hente enhver information fra ipconfig, fra undernetmaskerne til gateway-adresser.

Analyse af scriptfiler

Uanset hvilket programmeringssprog du koder i, er scriptfilerne i sidste ende kun tekst. Det betyder, at du kan bruge findstr til at analysere scripts og hente specifikke sektioner uden at gennemsøge hele koden.

Lad(Say) os sige , at vi ønsker at se, hvordan if-sætningen er blevet brugt i et bestemt script. Vi kan bruge følgende kommando:

findstr hvis script.ahk(findstr if script.ahk )

Dette vil ikke kun vise linjerne ved hjælp af if-sætningen, men det vil også vise os de anvendte udtryk. Du kan også inkludere parameteren /N for at vise linjenumrene, hvilket er meget praktisk til scriptfiler.

findstr /N if script.ahk

Er Findstr værd at bruge?

Den største vanskelighed ved at navigere i kommandolinjegrænsefladen er mængden af ​​tekst, man skal gennemse. Findstr er et vigtigt værktøj til at udtrække nyttig information og filtrere junk fra.

Da alle terminalkommandoer giver et tekstbaseret output, kan findstr altid bruges til at lokalisere de relevante data. Fra fejlfinding af netværksproblemer(troubleshooting network issues) til at finde de korrekte filer, hver handling bliver gjort mere effektiv med findstr.

Selv uden for dets synergi med andre kommandoer, er findstr nyttig for dens evne til at krydse indholdet af tekstfiler. Du kan finde specifikke fejl i maskingenererede logfiler eller hente kodesektioner i et komplekst script.

Kort sagt, findstr er et uundværligt værktøj i arsenalet af enhver avanceret Windows -bruger, især en der har til hensigt at blive fortrolig med kommandolinjegrænsefladen.



About the author

Jeg er softwareudvikler med over 10 års erfaring. Jeg har specialiseret mig i Mac-programmering og har skrevet flere tusinde linjer kode til forskellige Mac-programmer, inklusive, men ikke begrænset til: TextEdit, GarageBand, iMovie og Inkscape. Jeg har også erfaring med Linux og Windows udvikling. Mine færdigheder som udvikler giver mig mulighed for at skrive omfattende tutorials af høj kvalitet til forskellige softwareudviklingsplatforme - fra macOS til Linux - hvilket gør mine tutorials til det perfekte valg for dem, der ønsker at lære mere om de værktøjer, de bruger.



Related posts