Das Argument für mehrere Zeichenfolgen von findstr DOS Command


19
findstr /v "black"  File1.txt

Über dem DOS-Befehl wird der Inhalt von 'File1.txt' angezeigt, der nicht mit der Zeichenfolge "black" übereinstimmt.

Wie ändere ich diesen Befehl, wenn ich die Wörter "schwarz" und "weiß" filtern muss?


2
Das findstrTool ist nicht Teil von MS-DOS. Es kommt mit Windows (XP +?). Ich denke, Sie meinen "Befehlszeilenprogramm" anstelle von "DOS-Befehl".
Michel de Ruiter

Antworten:


27

Wie filtere ich die Wörter "schwarz" und "weiß"?

Der folgende Befehl zeigt alle Zeilen an, die "black" NOR enthalten "white":

findstr /v "black white" blackwhite.txt

Der folgende Befehl zeigt alle Zeilen an, die "black" OR enthalten "white":

findstr "black white" blackwhite.txt

Der folgende Befehl zeigt alle Zeilen an, die EXAKT "black white "enthalten:

findstr /c:"black white" blackwhite.txt

Der folgende Befehl zeigt alle Zeilen an, die "black" AND enthalten "white":

findstr "white" blackwhite.txt | findstr "black"

Anmerkungen:

  • Wenn die Suchzeichenfolge mehrere durch Leerzeichen getrennte Wörter enthält, findstrwerden Zeilen zurückgegeben, die ein Wort (ODER) enthalten.

  • Eine wörtliche Suche ( /C:string) kehrt dieses Verhalten um und ermöglicht die Suche nach einer Phrase oder einem Satz. Eine Literal-Suche ermöglicht auch die Suche nach Interpunktionszeichen.

Beispieldatendatei (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 Lektüre


1
Sehr interessant. Ich denke, das würde nach Weiß UND Schwarz suchenfindstr "white" File2.txt | findstr "black"
Barlop

Nun, da wir NOR haben, gibt es immer noch eine Permutation, die wir als vermisst betrachten könnten. NAND. Eine andere, die wir als vermisst betrachten könnten, ist XOR
Barlop

@barlop Ich kann nicht herausfinden, wie man NAND oder XOR macht: / Ich weiß, was die Ausgabe sein soll, aber wie man dorthin kommt ...
DavidPostill

Vielleicht gibt es keinen guten schnellen Weg, es wäre wahrscheinlich eine Batch-Datei, die die Fehlerebene überprüft. Vielleicht ist es besser, ein anderes Tool zu verwenden, wenn dies getan wird. Sieht so aus, als ob grep nicht kann. Aber awk kann ziemlich viel oder natürlich perl unix.stackexchange.com/questions/177513/…
barlop


0

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 / V-Operand gibt alle Zeilen aus, die NICHT Ihre Suchzeichenfolge enthalten.

Tippe findstr /? Weitere Informationen zur Verwendung von findstr.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.