findstr ist ein Kommandozeilenbefehl, der ausschließlich in Windows-NT-basierten Betriebssystemen verfügbar ist. Im Gegensatz zum älteren Find, das bereits unter MS-DOS existierte, unterstützt findstr reguläre Ausdrücke und bietet so einen ähnlichen Funktionsumfang zum Unix-Kommando grep.
findstr kann entweder einen oder auch mehrere Dateien nach dem oder den angegebenen regulären Ausdrücken suchen und gibt dann für jedes Suchergebnis die komplette Zeile aus, in der der angegebene reguläre Ausdruck vorkommt.
[A-Z]
nicht nur die Großbuchstaben A bis Z, sondern auch verschiedene Kombinationen mit Diakritika und auch alle Kleinbuchstaben mit Ausnahme des kleinen a, weil das kleine a vor dem großen A einsortiert wird. Ebenso findet eine Suche nach dem Bereich [0–9]
nicht nur die Ziffern 0 bis 9, sondern auch die Zeichen ½, ¼ und das hochgestellte ² (nicht aber das hochgestellte ³). Infolgedessen wird von der Angabe von Bereichen in der Regel ganz abgeraten, da die Ergebnisse völlig unberechenbar sind.[1]findstr < datei.txt
) eingelesen und hat diese Datei kein Line Feed als letztes Zeichen, hängt sich das Programm auf, sobald das Dateiende erreicht ist.[2]0x00
darf im Suchbegriff nicht vorkommen; in einer Datei wird es ähnlich wie in der Programmiersprache C behandelt; alles, was nach diesem Zeichen kommt, gilt als neue Zeile. Aus diesem Grund unterstützt findstr auch nicht die Suche in Textdateien, die in UTF-16 oder UTF-32 kodiert sind. Ist das Zeichen 0xFF
Bestandteil eines regulären Ausdrucks, hängt sich das Programm auf; dies ist aufgrund des von findstr verwendeten Kollationsalgorithmus besonders problematisch, weil dieses Zeichen zwischen dem Leerzeichen und dem Tabulatorzeichen einsortiert wird und deshalb z. B. die Angabe eines Bereichs, der diese beiden Zeichen beinhaltet, automatisch auch 0xFF
beinhaltet.[2]