Findstr Befehl unter Windows ist nützlich für die Suche nach bestimmten Textmuster in Dateien. Die Funktionalität ähnelt dem Befehl grep unter Linux. Nachfolgend finden Sie die Syntax von ‚findstr‘ für verschiedene Anwendungsfälle.
Suche nach Text / String in einer Datei:
findstr pattern filename
Um beispielsweise in den CLItips der Textdatei nach der Zeichenfolge ‚Windows‘ zu suchen.txt, der Befehl wäre wie folgt.
findstr Windows CLItips.txt
Beachten Sie, dass der obige Befehl sucht nach genau ‚Windows‘., Es betrachtet Fall standardmäßig. Wenn Sie also eine Zeile mit dem Wort „windows“ haben, wird sie nicht in der Ausgabe des obigen Befehls gedruckt.
Text ignorieren Groß-und Kleinschreibung:
Sie können /I-Schalter hinzufügen, um den Fall in der Suche zu ignorieren. Also, wenn Sie ‘findstr windows /I CLItips ausführen.txt‘, es macht Groß-und Kleinschreibung Mustervergleich.
Suche nach einem der angegebenen Wörter
Wenn Sie die Zeilen mit einem der angegebenen Wortsätze drucken möchten, können Sie die Liste der Wörter in doppelte Anführungszeichen setzen findstr Befehl.,
findstr "word1 word2 word3.." filename.txt
Dieser Befehl würde eine Zeile drucken, wenn er entweder das Wort ‚Apple‘ oder das Wort ‚Orange‘ oder beide Wörter hat.
Suche nach einem Muster mit mehreren Wörtern
findstr /C:"word1 word2 word3..." filename
/C gibt an, dass das Suchmuster wörtlich abgeglichen werden muss.
Zum Beispiel, um nach der Zeichenfolge „Apple Ball Cat“ im Dateibuch zu suchen.txt, der Befehl wäre wie folgt
findstr /C:"Apple Ball Cat" Book.txt
Suche mit regulären Ausdrücken
Sie können reguläre Ausdrücke mit findstr /R Schalter verwenden. Typischer Befehl wäre wie folgt.,
findstr /R pattern filename.txt
Hier kann das Muster mit regulären Ausdrücken angegeben werden.
Beispiele:
Suche nach dem Vorkommen aller Wörter, die mit ‚xyz‘ in einer Datei enden.
findstr /R *xyz filename.txt
Suchen Sie nach Text in allen Dateien in einem aktuellen Verzeichnis
Sie können Platzhalter ‚ * “ verwenden, um anzugeben, dass alle Dateien in einem Verzeichnis nach der angegebenen Zeichenfolge gesucht werden sollen.Um beispielsweise in allen Dateien im aktuellen Verzeichnis nach „windows“ zu suchen, können Sie den folgenden Befehl verwenden.,
findstr /I windows *
Um alle Textdateien im Verzeichnis zu durchsuchen C:\data:
findstr /I windows C:\data\*.txt
Suche nach mehreren Zeichenfolgen
Wenn Sie nach mehreren Zeichenfolgen suchen müssen, können Sie dies mit dem folgenden Batch-Skript tun.
@echo offfor /F %%i in (pattern.txt) do (echo Files containing %%ifindstr /M /C:%%i /S *.txt)
‘pattern.txt ‚ ist die Datei mit den Zeichenfolgen(eine pro Zeile), nach denen gesucht werden muss. Der obige Befehl sucht nur Textdateien. Sie können den Befehl findstr im Skript anpassen, um Dateien mit anderen Erweiterungen zu suchen. Wenn Sie dem Befehl die Option ‚/M‘ hinzufügen, werden nur die Dateinamen gedruckt.,
Gibt nur die Zeilen aus, in denen sich die angegebene Zeichenfolge am Anfang der Zeile befindet.
Sie können den Schalter /B hinzufügen, um anzugeben, dass die angegebene Zeichenfolge am Anfang der Zeile stehen soll.
findstr /B /C:windows CLItips.txt
Drucken Sie nur die Zeilen, in denen sich die angegebene Zeichenfolge am Ende der Zeile befindet
findstr /E /C:windows CLItips.txt
Drucken Sie Zeilennummern für alle übereinstimmenden Zeilen.
Sie können dem Befehl findstr /N Schalter hinzufügen, um Zeilennummern für die übereinstimmenden Zeilen zu drucken.
Nur die Dateinamen drucken
finstr /M /C:"pattern" *.log
Dieser Befehl sucht das Muster in allen*.,log-Dateien, und druckt dann nur die Dateinamen mit dem Muster. Selbst wenn eine Datei mehrere Vorkommen des Musters aufweist, wird sie von findstr nur einmal gedruckt.