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.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *