findstr DOSコマンドの複数の文字列引数


21
findstr /v "black"  File1.txt

上記のDOSコマンドは、文字列「black」に一致しない「File1.txt」のコンテンツを表示します。

単語「黒」と「白」をフィルタリングする必要がある場合、このコマンドを変更するにはどうすればよいですか?


2
このfindstrツールはMS-DOSの一部ではありません。Windows(XP +?)が付属しています。「DOSコマンド」ではなく「コマンドラインツール」を意味すると思います。
ミシェルデルイター

回答:


30

「黒」と「白」という単語をフィルタリングするにはどうすればよいですか?

次のコマンドは、"black" NOR を含むすべての行を表示します"white"

findstr /v "black white" blackwhite.txt

次のコマンドは、"black" OR を含むすべての行を表示します"white"

findstr "black white" blackwhite.txt

次のコマンドは、EXACTLY "black white " を含むすべての行を表示します。

findstr /c:"black white" blackwhite.txt

次のコマンドは、"black" AND を含むすべての行を表示します"white"

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

ノート:

  • 検索文字列にスペースで区切られた複数の単語が含まれている場合、findstrいずれかの単語(OR)を含む行が返されます。

  • リテラル検索(/C:string)はこの動作を逆にし、フレーズまたは文を検索できるようにします。リテラル検索では、句読点も検索できます。

データファイルの例(blackwhite.txt):

red
black
white
blue
black white
black and white

出力例:

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

参考文献


1
非常に興味深い..これは白と黒を検索することになると思いますfindstr "white" File2.txt | findstr "black"
-barlop

まあ、NORがあるので、欠落していると考えられる順列がまだあります。NAND。不足していると考えられるもう1つのXOR
barlop

@barlop NANDやXORの実行方法がわからない:/出力がどうあるべきかはわかっているが、そこに到達する方法は…
DavidPostill

たぶん、素早い方法がないかもしれません。おそらく、grepができないように見えるのであれば、おそらく他のツールを使用するほうがエラーレベルをチェックするバッチファイルになるでしょう。しかし、awkはかなり多くのことを実行できます。もちろん、perlunix.stackexchange.com
questions/177513/


0

「黒」または「白」という単語を含むすべての行を表示する必要がある場合は、コマンドの/ vを取り除きます。

試してください:findstr white File1.txtまたはfindstr black File1.txtまたはfindstr "black white" File1.txt

/ Vオペランドは、検索文字列を含まないすべての行を出力します。

findstr /?と入力します findstrの使用方法の詳細については。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.