Findstr: Exempel och tips med detta praktiska CMD Windows-verktyg

För den oinvigde kan ett mönstersökningsverktyg som findstr verka värdelöst. Men när du har att göra med systemgenererade loggfiler eller kommandoradsutdata som innehåller hundratals rader text, är findstr precis det verktyg du behöver.

Användare av ett Linux- operativsystem skulle redan vara bekanta med Grep -kommandots otroliga användbarhet, och findstr fyller en liknande roll i Microsoft Windows . Du kan kombinera det med andra kommandon(other commands) med hjälp av pipes eller bara köra det direkt för att analysera flera textfiler. Låt oss titta på hur findstr fungerar med några exempel.

Använd kommandot Findstr

Den grundläggande syntaxen är enkel – findstr , varär mönstret att söka efter, ochär adressen till filen att söka i. Öppna kommandotolken(Command Prompt) och prova.

findstr SFC exempel1.txt(findstr SFC example1.txt )

Detta kommando kommer att hitta och mata ut alla rader som innehåller söksträngen SFC . Observera att findstr som standard är skiftlägeskänsligt, så alla omnämnanden av SFC kommer inte att matchas.

Parametrar

Du kan ytterligare anpassa hur findstr fungerar genom att inkludera valfria parametrar. Växlar som /B eller /I ändrar beteendet för findstr, vilket ställer ytterligare villkor för sökningen. Till exempel:

findstr /I SFC example1.txt

Att inkludera /I som en parameter gör sökningen okänslig för skiftlägen, vilket gör att alla omnämnanden av termen matchar, oavsett deras versaler. Du kan hitta listan över alla parametrar för findstr i de officiella Microsoft-dokumenten(official Microsoft docs) .

Valfria mönster

Parametrar är inte det enda sättet du kan anpassa findstr. Om du till exempel omger <strängen> inom citattecken, kan du specificera flera mönster, vilket ger dig en matchning om någon av textsträngarna hittas.

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

Ovanstående kommer att returnera matchande rader som innehåller någon av termerna. Detta gör det användbart när du letar efter ett omnämnande för ett föremål med olika namn.

Vanliga uttryck

Findstr kan söka igenom flera filer. Skiftandetill ett reguljärt uttryck gör att kommandot letar efter det angivna mönstret i alla filer som matchar.

findstr SFC *.txt

Genom att använda jokertecknet matchar regexet med alla textfiler i den aktuella katalogen och dess underkataloger. Resultaten är likaså segregerade av filnamn, så att du kan se vilken rad som kommer från vilken fil.

Rör

Som de flesta cmd-kommandon kan findstr också användas för utmatning av andra kommandon. Lägg bara(Just) till ett rör efter slutet av målkommandot och anropa findstr utan a.

dir | findstr .txt

Detta kör en findstr-sökning på utgången av dir-kommandot och returnerar fillistan som slutar med .txt . Naturligtvis är just detta exempel värdelöst i praktiken eftersom dir redan kan hitta filer av samma typ med ett reguljärt uttryck.

Man kan också ta den längre vägen att omdirigera utdata till en textfil(redirecting the output to a text file) och sedan använda findstr på textfilen, men det är lättare att klippa mellanhanden.

Applikationer av Findstr i Windows

De uppenbara användningarna av findstr är lätt uppenbara bara från syntaxen. Du kan leta efter textfiler med en specifik textsträng eller se om en viss sträng finns i en fil.

Detta, även om det är teoretiskt användbart, ser sällan användning utanför sällsynta fall. I en tid med molntjänster som Google Docs har de flesta inte längre många textfiler.

De faktiska tillämpningarna av findstr är lite mer subtila och involverar mer kraftfulla resultat. Här är några av de mer intressanta exemplen.

Hitta specifika typer av filer

Kommandot dir innehåller redan möjligheten att söka efter filnamn med reguljära uttryck. Men med findstr kan du söka efter filer som delar andra attribut, som tid eller datum för skapandet.

Anta(Suppose) att ett fel inträffade kl. 18:43 och att du vill hitta alla loggfiler som skapades vid den tidpunkten. Med kommandot dir enbart måste du manuellt sålla igenom resultaten eller hämta alla loggfiler och jämföra dem. Med findstr blir detta ett enkelt kommando.

dir | findstr 06:43

Du kan prova samma knep för att hitta filer skapade på ett visst datum eller få en lista med kataloger.

dir | findstr DIR

Filtrera nätverksinformation(Network Information) med Netstat

Netstat är ett praktiskt Windows -kommando som ger dig all information om din dators nätverksanslutningar – för mycket information, vilket är där findstr kommer in.

Piping av netstats utdata till findstr låter dig söka efter anslutningar med specifika egenskaper. Det är till exempel så här du kan få en lista över alla etablerade anslutningar.

netstat | findstr ESTABLISHED

Det här tricket är användbart när du ska diagnostisera nätverksproblem. Du kan till och med använda findstr med ett program- PID för att hitta alla anslutningar som öppnas av en viss process.

netstat -o | findstr 13120

Få specifika IP-adresser

Kommandot ipconfig låter dig se detaljer om alla nätverksgränssnitt i systemen, inklusive IP-adresser. Du kan använda findstr för att extrahera en viss typ av IP-adress utan att behöva bläddra igenom det hela.

ipconfig | findstr Temporary

Du kan utöka denna metod för att få all information från ipconfig, från subnätmaskerna till gatewayadresser.

Analysera skriptfiler

Oavsett vilket programmeringsspråk du kodar i så är skriptfilerna i slutändan bara text. Det betyder att du kan använda findstr för att analysera skript och hämta specifika avsnitt utan att skura igenom hela koden.

Säg(Say) att vi vill se hur if-satsen har använts i ett visst skript. Vi kan använda följande kommando:

findstr if script.ahk

Detta visar inte bara raderna med if-satsen, utan det kommer också att visa oss uttrycken som används. Du kan också inkludera parametern /N för att visa radnumren, vilket är väldigt praktiskt för skriptfiler.

findstr /N if script.ahk

Är Findstr värt att använda?

Den största svårigheten med att navigera i kommandoradsgränssnittet är mängden text man behöver sålla igenom. Findstr är ett viktigt verktyg för att extrahera användbar information och filtrera bort skräp.

Eftersom alla terminalkommandon ger en textbaserad utdata, kan findstr alltid användas för att lokalisera relevant data. Från att felsöka nätverksproblem(troubleshooting network issues) till att hitta rätt filer, varje åtgärd görs mer effektiv med findstr.

Även utanför dess synergi med andra kommandon är findstr till hjälp för dess förmåga att gå igenom innehållet i textfiler. Du kan hitta specifika fel i maskingenererade loggfiler eller hämta kodavsnitt i ett komplext skript.

Kort sagt, findstr är ett oumbärligt verktyg i arsenalen för alla avancerade Windows -användare, speciellt en som har för avsikt att bekanta sig med kommandoradsgränssnittet.



About the author

Efter nästan 20 år i teknikbranschen har jag lärt mig mycket om Apples produkter och hur man anpassar dem efter mina behov. I synnerhet vet jag hur man använder iOS-plattformen för att skapa anpassade utseenden och interagera med mina användare genom applikationsinställningar. Den här erfarenheten har gett mig värdefulla insikter om hur Apple designar sina produkter och hur man bäst kan förbättra deras användarupplevelse.



Related posts