Findstr kommando på Windows är användbart för att söka efter specifika textmönster i filer. Dess funktionalitet liknar grep-kommandot på Linux OS. Du hittar nedan syntaxen för ”findstr” för olika användningsfall.
Sök efter text/string i en fil:
findstr pattern filename
till exempel för att söka efter strängen ”Windows” i Textfilklitips.txt, kommandot skulle vara som nedan.
findstr Windows CLItips.txt
Observera att ovanstående kommando letar efter exakt ”Windows”., Den anser fall som standard. Så om du har en rad som har ordet ”windows”, skulle det inte skrivas ut i utmatningen av ovanstående kommando.
ignorera textfall:
Du kan lägga till / i växla för att ignorera kundcaset i sökningen. Så om du kör ” findstr Windows / i CLItips.txt’, det gör Fall okänslig mönstermatchning.
Sök efter något av de givna orden
om du vill skriva ut raderna med någon av de givna orduppsättningarna kan du bifoga listan med ord i dubbla citat i findstr-kommandot.,
findstr "word1 word2 word3.." filename.txt
findstr "Apple Orange" fruits.txt
det här kommandot skulle skriva ut en rad om det har antingen ordet ”Apple” eller ordet ”Orange” eller båda orden.
Sök efter mönster med flera ord
findstr /C:"word1 word2 word3..." filename
/ c indikerar att sökmönstret måste matchas bokstavligt.
till exempel för att söka efter strängen ”Apple Ball Cat” i filboken.txt, kommandot skulle vara som nedan
findstr /C:"Apple Ball Cat" Book.txt
Sök med reguljära uttryck
Du kan använda reguljära uttryck med findstr /R-omkopplaren. Typiskt kommando skulle vara som nedan.,
findstr /R pattern filename.txt
Här kan mönstret anges med reguljära uttryck.
exempel:
Sök efter förekomsten av alla ord som slutar med ” xyz ” i en fil.
findstr /R *xyz filename.txt
Sök efter text i alla filer i en aktuell katalog
Du kan använda jokertecken ’*” för att ange att alla filer i en katalog ska sökas efter den angivna strängen.
om du till exempel vill söka efter ”windows” i alla filer i den aktuella katalogen kan du använda kommandot nedan.,
findstr /I windows *
för att söka igenom alla textfiler i katalogen C:\data:
findstr /I windows C:\data\*.txt
Sök efter flera strängar
om du behöver söka efter flera strängar kan du göra det med nedanstående batchskript.
@echo offfor /F %%i in (pattern.txt) do (echo Files containing %%ifindstr /M /C:%%i /S *.txt)
’mönster.txt ’ är filen som har strängarna (en per rad) som måste sökas efter. Ovanstående kommando söker endast textfiler. Du kan anpassa kommandot findstr i skriptet för att söka i filer med andra tillägg. Lägga till’ / M ’ alternativet till kommandot orsakar att skriva ut endast filnamn.,
Skriv bara ut de rader där den angivna strängen befinner sig i början av raden.
Du kan lägga till / B-omkopplare för att indikera att den angivna strängen ska vara i början av raden.
findstr /B /C:windows CLItips.txt
Skriv endast ut de rader där den angivna strängen befinner sig i slutet av raden
findstr /E /C:windows CLItips.txt
Skriv ut radnummer för alla matchade linjer.
Du kan lägga till / N växla till kommandot findstr för att skriva ut radnummer för de matchade linjerna.
Skriv endast ut filnamnen
finstr /M /C:"pattern" *.log
det här kommandot söker efter mönstret i alla *.,loggfiler och skriver sedan bara ut filnamnen som har mönstret. Även om en fil har flera förekomster av mönstret, skrivs det bara en gång av findstr.