Findstr-opdracht op Windows is nuttig voor het zoeken naar een specifiek tekstpatroon in bestanden. De functionaliteit is vergelijkbaar met het grep-commando op Linux OS. Hieronder vindt u de syntaxis van ‘findstr’ voor verschillende use cases.

zoeken naar tekst / tekenreeks in een bestand:

findstr pattern filename

bijvoorbeeld, om te zoeken naar de tekenreeks ‘Windows’ in het tekstbestand CLItips.txt, het commando zou zijn zoals hieronder.

findstr Windows CLItips.txt

merk op dat het bovenstaande commando precies ‘Windows’zoekt., Zij beschouwt het geval bij gebreke. Dus als je een regel hebt die het woord ‘windows’ heeft, zou het niet worden afgedrukt in de uitvoer van het bovenstaande commando.

tekst hoofdletter negeren:

U kunt /I-switch toevoegen om de hoofdletter te negeren in de zoekopdracht. Dus als je ‘findstr windows /I CLItips.txt’, het doet hoofdletterongevoelige patroon matching.

zoek naar een van de opgegeven woorden

als u de regels wilt afdrukken met een van de opgegeven woorden, kunt u de lijst met woorden met dubbele aanhalingstekens in het findstr-Commando omsluiten.,

findstr "word1 word2 word3.." filename.txt
findstr "Apple Orange" fruits.txt

Dit commando zou een regel afdrukken als het woord ‘Apple’ of het woord ‘Orange’ of beide woorden bevat.

zoeken naar patroon met meerdere woorden

findstr /C:"word1 word2 word3..." filename

/ C geeft aan dat het zoekpatroon letterlijk moet worden gevonden.

bijvoorbeeld, om te zoeken naar de string “Apple Ball Cat” in het bestandsboek.txt, het commando zou zijn als hieronder

 findstr /C:"Apple Ball Cat" Book.txt

zoeken met reguliere expressies

u kunt reguliere expressies gebruiken met de Findstr /R Schakelaar. Typisch commando zou zijn zoals hieronder.,

findstr /R pattern filename.txt

Hier kan het patroon worden gespecificeerd met behulp van reguliere expressies.

voorbeelden:
zoeken naar het voorkomen van alle woorden die eindigen op ‘ xyz ‘ in een bestand.

findstr /R *xyz filename.txt

zoeken naar tekst in alle bestanden in een huidige map

U kunt jokerteken ‘ * ” gebruiken om aan te geven dat alle bestanden in een map naar de gegeven tekenreeks moeten worden gezocht.
bijvoorbeeld, om te zoeken naar ‘windows’ in alle bestanden in de huidige map, kunt u het onderstaande commando gebruiken.,

findstr /I windows *

om alle tekstbestanden in de map te doorzoeken C:\data:

findstr /I windows C:\data\*.txt

zoeken naar meerdere tekenreeksen

Als u naar meerdere tekenreeksen moet zoeken, kunt u dat doen met het onderstaande batchscript.

@echo offfor /F %%i in (pattern.txt) do (echo Files containing %%ifindstr /M /C:%%i /S *.txt)

‘patroon.txt ‘is het bestand met de strings (één per regel) waar naar gezocht moet worden. Het bovenstaande commando zoekt alleen tekstbestanden. U kunt de opdracht findstr in het script aanpassen om te zoeken in bestanden met andere extensies. Het toevoegen van de optie ‘/ M ‘ aan het commando zorgt ervoor dat alleen de bestandsnamen worden afgedrukt.,

Druk alleen de regels af waar de gegeven tekenreeks aan het begin van de regel staat.

U kunt /B-schakelaar toevoegen om aan te geven dat de opgegeven tekenreeks aan het begin van de regel moet staan.

findstr /B /C:windows CLItips.txt

Druk alleen de regels af waar de gegeven tekenreeks aan het einde van de regel staat

findstr /E /C:windows CLItips.txt

druk regelnummers af voor alle overeenkomende regels.

u kunt /N switch toevoegen aan de opdracht findstr om regelnummers af te drukken voor de overeenkomende regels.

Print alleen de bestandsnamen

finstr /M /C:"pattern" *.log

Dit commando zoekt naar het patroon in all *.,logbestanden en drukt vervolgens alleen de bestandsnamen af met het patroon. Zelfs als een bestand meerdere keren van het patroon heeft, wordt het slechts één keer afgedrukt door findstr.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *