Findstr: voorbeelden en tips bij het gebruik van deze handige CMD Windows-tool

Voor niet-ingewijden lijkt een hulpmiddel voor het zoeken naar patronen zoals findstr misschien nutteloos. Maar als je te maken hebt met door het systeem gegenereerde logbestanden of opdrachtregeluitvoer met honderden regels tekst, is findstr precies de tool die je nodig hebt.

Gebruikers van een Linux -besturingssysteem zouden al bekend zijn met het ongelooflijke nut van het Grep -commando, en findstr vervult een vergelijkbare rol in Microsoft Windows . Je kunt het combineren met andere opdrachten(other commands) met behulp van pijpen of het gewoon rechtstreeks uitvoeren om meerdere tekstbestanden te ontleden. Laten we eens kijken hoe findstr werkt met een paar voorbeelden.

De opdracht Findstr gebruiken

De basissyntaxis is eenvoudig - findstr , waaris het patroon om naar te zoeken, enis het adres van het bestand om in te zoeken. Open de opdrachtprompt(Command Prompt) en probeer het eens.

findstr SFC voorbeeld1.txt(findstr SFC example1.txt )

Deze opdracht zal alle regels vinden en uitvoeren die de zoekreeks SFC bevatten . Merk op dat findstr standaard hoofdlettergevoelig is, dus eventuele vermeldingen van SFC komen niet overeen.

Parameters:

U kunt de werking van findstr verder aanpassen door optionele parameters op te nemen. Schakelaars zoals /B of /I wijzigen het gedrag van findstr en stellen aanvullende voorwaarden aan de zoekopdracht. Bijvoorbeeld:

findstr /I SFC example1.txt

Door /I als parameter op te nemen, wordt de zoekopdracht niet hoofdlettergevoelig, waardoor alle vermeldingen van de term overeenkomen, ongeacht hun hoofdlettergebruik. U kunt de lijst met alle parameters van findstr vinden in de officiële Microsoft-documenten(official Microsoft docs) .

Optionele patronen

Parameters zijn niet de enige manier waarop u findstr kunt aanpassen. Door bijvoorbeeld de <string> tussen aanhalingstekens te plaatsen, kunt u meerdere patronen specificeren, zodat u een overeenkomst krijgt als een van de tekstreeksen wordt gevonden.

findstr “SFC DISM” voorbeeld1.txt(findstr “SFC DISM” example1.txt )

Het bovenstaande zal overeenkomende regels retourneren die een van de termen bevatten. Dit maakt het handig bij het zoeken naar een vermelding voor een item met verschillende namen.

Normale uitdrukkingen

Findstr kan door meerdere bestanden zoeken. Veranderennaar een reguliere expressie zorgt ervoor dat de opdracht naar het opgegeven patroon zoekt in alle bestanden die overeenkomen.

findstr SFC *.txt

Door het jokerteken te gebruiken, komt de regex overeen met alle tekstbestanden in de huidige map en zijn submappen. De resultaten zijn eveneens gescheiden door bestandsnamen, zodat u kunt zien welke regel uit welk bestand afkomstig is.

pijpen

Zoals de meeste cmd-opdrachten, kan findstr ook worden gebruikt voor de uitvoer van andere opdrachten. Voeg gewoon(Just) een pipe toe aan het einde van het doelcommando en roep findstr op zonder a.

dir | findstr .txt

Dit voert een findstr-zoekopdracht uit op de uitvoer van het dir-commando, waarbij de bestandslijst wordt geretourneerd die eindigt op .txt . Natuurlijk is dit specifieke voorbeeld nutteloos in de praktijk, aangezien dir al bestanden van hetzelfde type kan lokaliseren met een reguliere expressie.

Men kan ook de langere route nemen om de uitvoer om te leiden naar een tekstbestand(redirecting the output to a text file) en dan findstr op het tekstbestand te gebruiken, maar het is gemakkelijker om de tussenpersoon te stoppen.

Toepassingen van Findstr in Windows

Het voor de hand liggende gebruik van findstr is alleen al uit de syntaxis duidelijk. U kunt zoeken naar tekstbestanden met een specifieke tekenreeks of kijken of een bepaalde tekenreeks in een bestand zit.

Dit, hoewel theoretisch nuttig, wordt zelden gebruikt buiten zeldzame gevallen. In het tijdperk van cloudservices zoals Google Docs hebben de meeste mensen niet langer veel tekstbestanden.

De daadwerkelijke toepassingen van findstr zijn wat subtieler en hebben krachtigere resultaten. Hier zijn enkele van de meer interessante voorbeelden.

Specifieke bestandstypen zoeken

Het dir-commando bevat al de optie om naar bestandsnamen te zoeken met behulp van reguliere expressies. Maar met findstr kunt u zoeken naar bestanden die andere kenmerken delen, zoals de tijd of datum van aanmaak.

Stel dat(Suppose) er om 18:43 uur een fout is opgetreden en u wilt alle logbestanden vinden die op dat moment zijn gemaakt. Alleen al met het dir-commando moet u de resultaten handmatig doorzoeken of alle logbestanden ophalen en vergelijken. Met findstr wordt dit een eenvoudig commando.

dir | findstr 06:43

U kunt dezelfde truc proberen om bestanden te vinden die op een bepaalde datum zijn gemaakt of om een ​​lijst met mappen te krijgen.

dir | findstr DIR

Netwerkinformatie(Network Information) filteren met Netstat

Netstat is een handig Windows -commando dat u alle informatie geeft over de netwerkverbindingen van uw computer - te veel informatie, en dat is waar findstr binnenkomt.

Door de uitvoer van netstat naar findstr te sturen, kunt u zoeken naar verbindingen met specifieke eigenschappen. Zo kunt u bijvoorbeeld een lijst krijgen van alle tot stand gebrachte verbindingen.

netstat | findstr ESTABLISHED

Deze truc is handig bij het diagnosticeren van netwerkproblemen. U kunt zelfs findstr gebruiken met een applicatie- PID om alle verbindingen te vinden die door een bepaald proces zijn geopend.

netstat -o | findstr 13120

Specifieke IP-adressen verkrijgen

Met de opdracht ipconfig kunt u details van alle netwerkinterfaces van de systemen bekijken, inclusief IP-adressen. Je kunt findstr gebruiken om een ​​bepaald type IP-adres te extraheren zonder door het hele ding te hoeven scrollen.

ipconfig | findstr Temporary

U kunt deze methode uitbreiden om alle informatie van ipconfig te verkrijgen, van de subnetmaskers tot gateway-adressen.

Scriptbestanden analyseren

In welke programmeertaal u ook codeert, de scriptbestanden zijn uiteindelijk alleen maar tekst. Dit betekent dat je findstr kunt gebruiken om scripts te analyseren en specifieke secties op te halen zonder de hele code te doorzoeken.

Stel(Say) dat we willen zien hoe de if-instructie in een bepaald script is gebruikt. We kunnen het volgende commando gebruiken:

findstr if script.ahk

Dit geeft niet alleen de regels weer die het if-statement gebruiken, maar het laat ons ook de gebruikte uitdrukkingen zien. U kunt ook de parameter /N opnemen om de regelnummers weer te geven, wat erg handig is voor scriptbestanden.

findstr /N if script.ahk

Is Findstr de moeite waard om te gebruiken?

De grootste moeilijkheid bij het navigeren door de opdrachtregelinterface is de hoeveelheid tekst die je moet doorzoeken. Findstr is een essentieel hulpmiddel voor het extraheren van nuttige informatie en het uitfilteren van rommel.

Aangezien alle terminalcommando's een op tekst gebaseerde uitvoer geven, kan findstr altijd worden gebruikt om de relevante gegevens te lokaliseren. Van het oplossen van netwerkproblemen(troubleshooting network issues) tot het vinden van de juiste bestanden, elke actie wordt efficiënter gemaakt met findstr.

Zelfs buiten zijn synergie met andere commando's, is findstr nuttig vanwege zijn vermogen om de inhoud van tekstbestanden te doorkruisen. U kunt specifieke fouten vinden in door de machine gegenereerde logbestanden of delen van code in een complex script ophalen.

Kortom, findstr is een onmisbaar hulpmiddel in het arsenaal van elke geavanceerde Windows -gebruiker, vooral iemand die van plan is vertrouwd te raken met de opdrachtregelinterface.



About the author

Ik ben een softwareontwikkelaar met meer dan 10 jaar ervaring. Ik ben gespecialiseerd in Mac-programmering en heb duizenden regels code geschreven voor verschillende Mac-programma's, waaronder maar niet beperkt tot: TextEdit, GarageBand, iMovie en Inkscape. Ook heb ik ervaring met Linux en Windows ontwikkeling. Dankzij mijn vaardigheden als ontwikkelaar kan ik hoogwaardige, uitgebreide tutorials schrijven voor verschillende softwareontwikkelingsplatforms - van macOS tot Linux - waardoor mijn tutorials de perfecte keuze zijn voor diegenen die meer willen weten over de tools die ze gebruiken.



Related posts