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?

Arun
quelle
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

DavidPostill
quelle
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
Lassen Sie uns diese Diskussion im Chat fortsetzen .
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.

Dean Spicer
quelle