Für den Uneingeweihten mag ein Mustersuchtool wie findstr nutzlos erscheinen. Aber wenn es um vom System generierte Protokolldateien oder Befehlszeilenausgaben geht, die Hunderte von Textzeilen enthalten, ist findstr genau das Werkzeug, das Sie brauchen.

Benutzer eines Linux-Betriebssystems sind bereits mit der unglaublichen Nützlichkeit des Grep-Befehls vertraut, und findstr erfüllt eine ähnliche Rolle in Microsoft Windows. Sie können es mithilfe von Pipes mit anderen Befehlen kombinieren oder es einfach direkt ausführen, um mehrere Textdateien zu analysieren. Schauen wir uns anhand einiger Beispiele an, wie findstr funktioniert.

Inhaltsverzeichnis

Verwenden des Findstr-Befehls

Die grundlegende Syntax ist einfach – findstr , wobei das zu suchende Muster und die Adresse der Datei ist, in der gesucht werden soll. Öffnen Sie die Eingabeaufforderung und probieren Sie es aus.

findstr SFC example1.txt

Dieser Befehl findet und gibt alle Zeilen aus, die den Suchstring SFC enthalten. Beachten Sie, dass bei findstr standardmäßig zwischen Groß-und Kleinschreibung unterschieden wird, sodass alle Erwähnungen von SFC nicht abgeglichen werden.

Parameter

Sie können die Funktionsweise von findstr weiter anpassen, indem Sie optionale Parameter hinzufügen. Schalter wie/B oder/I modifizieren das Verhalten von findstr, indem sie der Suche zusätzliche Bedingungen auferlegen. Zum Beispiel:

findstr/I SFC example1.txt

Durch das Einschließen von/I als Parameter wird die Groß-und Kleinschreibung bei der Suche nicht berücksichtigt, sodass alle Erwähnungen des Begriffs to möglich sind übereinstimmen, unabhängig von ihrer Großschreibung. Die Liste aller Parameter von findstr finden Sie im official Microsoft-Dokumentation.

Optionale Muster

Parameter sind nicht die einzige Möglichkeit, findstr anzupassen. Wenn Sie beispielsweise in Anführungszeichen setzen, können Sie mehrere Muster angeben, sodass Sie eine Übereinstimmung erhalten, wenn eine der Textzeichenfolgen gefunden wird.

findstr „SFC DISM“ example1.txt

Das Obige gibt übereinstimmende Zeilen zurück, die einen der Begriffe enthalten. Dies macht es nützlich, wenn Sie nach einer Erwähnung für ein Element mit unterschiedlichen Namen suchen.

Reguläre Ausdrücke

Findstr kann mehrere Dateien durchsuchen. Wenn Sie in einen regulären Ausdruck ändern, sucht der Befehl in allen übereinstimmenden Dateien nach dem angegebenen Muster.

findstr SFC *.txt

Die Verwendung des Platzhalterzeichens gleicht die Regex mit allen Textdateien im aktuellen Verzeichnis und seinen Unterverzeichnissen ab. Die Ergebnisse werden ebenfalls nach Dateinamen getrennt, sodass Sie sehen können, welche Zeile aus welcher Datei stammt.

Pipes

Wie die meisten cmd-Befehle kann findstr auch für die Ausgabe anderer Befehle verwendet werden. Fügen Sie einfach eine Pipe nach dem Ende des Zielbefehls hinzu und rufen Sie findstr ohne auf.

Verzeichnis | findstr.txt

Dies führt eine findstr-Suche auf der Ausgabe des dir-Befehls durch und gibt die Dateiliste mit der Endung.txt zurück. Natürlich ist dieses spezielle Beispiel in der Praxis nutzlos, da dir bereits Dateien des gleichen Typs mit einem regulären Ausdruck finden kann.

Man kann auch den längeren Weg nehmen, die Ausgabe in eine Textdatei umzuleiten und dann findstr für die Textdatei zu verwenden, aber es ist einfacher, den Mittelsmann abzuschneiden.

Anwendungen von Findstr in Windows

Die offensichtliche Verwendung von Findstr ist allein aus der Syntax ersichtlich. Sie können nach Textdateien mit einer bestimmten Textzeichenfolge suchen oder sehen, ob eine bestimmte Zeichenfolge in einer Datei enthalten ist.

Dies ist zwar theoretisch nützlich, wird jedoch selten außerhalb seltener Fälle verwendet. Im Zeitalter von Cloud-Diensten wie Google Docs haben die meisten Menschen nicht mehr viele Textdateien.

Die eigentlichen Anwendungen von findstr sind etwas subtiler und beinhalten leistungsfähigere Ergebnisse. Hier sind einige der interessanteren Beispiele.

Suchen nach bestimmten Dateitypen

Der Befehl dir enthält bereits die Option, mit regulären Ausdrücken nach Dateinamen zu suchen. Aber mit findstr können Sie nach Dateien suchen, die andere Attribute haben, wie z. B. die Zeit oder das Datum der Erstellung.

Angenommen, um 18:43 Uhr ist ein Fehler aufgetreten, und Sie möchten alle zu diesem Zeitpunkt erstellten Protokolldateien finden. Mit dem dir-Befehl allein müssen Sie die Ergebnisse manuell durchsehen oder alle Protokolldateien abrufen und vergleichen. Mit findstr wird dies zu einem einfachen Befehl.

Verzeichnis | findstr 06:43

Sie können denselben Trick ausprobieren, um Dateien zu finden, die an einem bestimmten Datum erstellt wurden, oder eine Liste von Verzeichnissen erhalten.

Verzeichnis | findstr DIR

Filtern von Netzwerkinformationen mit Netstat

Netstat ist ein praktischer Windows-Befehl, der Ihnen alle Informationen über die Netzwerkverbindungen Ihres Computers liefert – zu viele Informationen, wo findstr

Wenn Sie die Ausgabe von netstat an findstr weiterleiten, können Sie nach Verbindungen mit bestimmten Eigenschaften suchen. So erhalten Sie beispielsweise eine Liste aller aufgebauten Verbindungen.

netstat | findstr GERICHTET

Dieser Trick ist hilfreich bei der Diagnose von Netzwerkproblemen. Sie können findstr sogar mit einer Anwendungs-PID verwenden, um alle Verbindungen zu finden, die von einem bestimmten Prozess geöffnet wurden.

netstat-o | findstr 13120

Beziehen bestimmter IP-Adressen

Mit dem Befehl ipconfig können Sie Details aller Netzwerkschnittstellen des Systems anzeigen, einschließlich IP-Adressen. Sie können findstr verwenden, um eine bestimmte Art von IP-Adresse zu extrahieren, ohne durch das Ganze scrollen zu müssen.

ipconfig | findstr Temporär

Sie können diese Methode erweitern, um beliebige Informationen von ipconfig zu erhalten, von den Subnetzmasken bis zu den Gateway-Adressen.

Skriptdateien analysieren

Egal in welcher Programmiersprache Sie codieren, die Skriptdateien sind letztendlich nur Text. Das bedeutet, dass Sie findstr verwenden können, um Skripte zu analysieren und bestimmte Abschnitte abzurufen, ohne den gesamten Code durchsuchen zu müssen.

Angenommen, wir wollen sehen, wie die if-Anweisung in einem bestimmten Skript verwendet wurde. Wir können den folgenden Befehl verwenden:

findstr if script.ahk

Dadurch werden nicht nur die Zeilen mit dem angezeigt if-Anweisung, zeigt uns aber auch die verwendeten Ausdrücke. Sie können auch den Parameter/N einfügen, um die Zeilennummern anzuzeigen, was für Skriptdateien sehr praktisch ist.

findstr/N if script.ahk

Lohnt sich die Verwendung von Findstr?

Die Hauptschwierigkeit beim Navigieren in der Befehlszeilenschnittstelle ist die Menge an Text, die man durchgehen muss. Findstr ist ein unverzichtbares Tool zum Extrahieren nützlicher Informationen und zum Herausfiltern von Junk.

Da alle Terminalbefehle eine textbasierte Ausgabe liefern, kann findstr immer verwendet werden, um die relevanten Daten zu finden. Von der Fehlerbehebung bei Netzwerkproblemen bis zum Auffinden der richtigen Dateien wird jede Aktion mit findstr effizienter.

Sogar außerhalb seiner Synergie mit anderen Befehlen ist findstr hilfreich für seine Fähigkeit, den Inhalt von Textdateien zu durchsuchen. Sie können bestimmte Fehler in maschinell generierten Protokolldateien finden oder Codeabschnitte in einem komplexen Skript abrufen.

Kurz gesagt, findstr ist ein unverzichtbares Werkzeug im Arsenal eines jeden fortgeschrittenen Windows-Benutzers, insbesondere eines, der sich mit der Befehlszeilenschnittstelle vertraut machen möchte.

Categories: IT Info