
findstr /v "black" File1.txt
Der obige DOS-Befehl zeigt den Inhalt von „File1.txt“ an, der nicht mit der Zeichenfolge „black“ übereinstimmt.
Wie ändere ich diesen Befehl, wenn ich die Wörter „schwarz“ und „weiß“ filtern muss?
Antwort1
Wie filtere ich die Wörter „schwarz“ und „weiß“?
Der folgende Befehl zeigt alle Zeilen an, die enthalten"black"
NOCH "white"
:
findstr /v "black white" blackwhite.txt
Der folgende Befehl zeigt alle Zeilen an, die enthalten"black"
ODER "white"
:
findstr "black white" blackwhite.txt
Der folgende Befehl zeigt alle Zeilen an, die enthaltenGENAU "black white
":
findstr /c:"black white" blackwhite.txt
Der folgende Befehl zeigt alle Zeilen an, die enthalten"black"
UND "white"
:
findstr "white" blackwhite.txt | findstr "black"
Anmerkungen:
Wenn die Suchzeichenfolge mehrere durch Leerzeichen getrennte Wörter enthält,
findstr
werden Zeilen zurückgegeben, die eines der beiden Wörter enthalten (ODER).Eine wörtliche Suche (
/C:string
) kehrt dieses Verhalten um und ermöglicht die Suche nach einer Phrase oder einem Satz. Eine wörtliche Suche ermöglicht auch die Suche nach Satzzeichen.
Beispiel-Datendatei (blackwhite.txt):
red
black
white
blue
black white
black and white
Beispielausgabe:
F:\test>findstr /v "black white" blackwhite.txt
red
blue
F:\test>findstr "black white" blackwhite.txt
black
white
black white
black and white
F:\test>findstr /c:"black white" blackwhite.txt
black white
F:\test>findstr "white" blackwhite.txt | findstr "black"
black white
black and white
Weitere Informationen
- Ein AZ-Index der Windows CMD-Befehlszeile- Ein hervorragendes Nachschlagewerk zu allem, was mit der Windows-Eingabeaufforderung zu tun hat.
- Suche- Suche nach Zeichenfolgen in Dateien.
Antwort2
Wenn Sie alle Zeilen mit den Wörtern „schwarz“ oder „weiß“ anzeigen müssen, entfernen Sie das /v in Ihrem Befehl.
Versuchen Sie: findstr white File1.txt oder findstr black File1.txt oder findstr "black white" File1.txt
Der Operand /V druckt alle Zeilen, die Ihren Suchbegriff NICHT enthalten.
Geben Sie findstr /? ein, um weitere Informationen zur Verwendung von findstr zu erhalten.
Antwort3
Ich wollte noch ergänzen, wie man findstr mit stdout unter Windows für mehrere Suchvorgänge verwendet.
So listen Sie nur die Namen der Netzwerkschnittstellen und deren IP-Adressen auf:
ipconfig /all | findstr /i /L /c:"Ethernet" /c:"IPv4"
Die Microsoft-DokumentationDetails zu jedem Parameter
/i
Ignoriert die Groß-/Kleinschreibung der Zeichen bei der Suche nach der Zeichenfolge./l
Verarbeitet Suchzeichenfolgen wörtlich./c:<string>
Verwendet den angegebenen Text als wörtliche Suchzeichenfolge.
Antwort4
Hier ist ein weiteres Beispiel, bei dem eine andere Ausgabemethode verwendet wird, nicht nur eine direkte Dateisuche. Überprüfen Sie beispielsweise den Netzwerkportstatus, wobei port = 98765
und status = ESTABLISHED or LISTENING
.
Dies führt beispielsweise alle fünf Sekunden ein Netstat aus, leitet dann die Netstat-Ausgabe an ein FIND weiter (könnte auch verwenden FINDSTR
) und leitet diese Ergebnisse anschließend an findstr weiter, um zu filtern, wenn sich der Port in einem bestimmten Zustand befindet (in diesem Fall ESTABLISHED or LISTENING
).
netstat -an 5 | find "98765" | findstr "ESTABLISHED LISTENING"
TCP 192.168.123.456:57349 10.10.12.34:98765 ESTABLISHED