findstr /v "black" File1.txt
上記の DOS コマンドは、文字列「black」に一致しない 'File1.txt' の内容を表示します。
「黒」と「白」という単語をフィルタリングする必要がある場合、このコマンドを変更するにはどうすればよいでしょうか?
答え1
「黒」と「白」という単語をフィルタリングするにはどうすればよいですか?
次のコマンドは、以下の内容を含むすべての行を表示します。"black"
または "white"
:
findstr /v "black white" blackwhite.txt
次のコマンドは、以下の内容を含むすべての行を表示します。"black"
または "white"
:
findstr "black white" blackwhite.txt
次のコマンドは、以下の内容を含むすべての行を表示します。その通り "black white
「:」
findstr /c:"black white" blackwhite.txt
次のコマンドは、以下の内容を含むすべての行を表示します。"black"
そして "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
参考文献
- Windows CMD コマンドラインの AZ インデックス- Windows コマンド ラインに関連するあらゆることに関する優れたリファレンス。
- 検索文字列- ファイル内の文字列を検索します。
答え2
「black」または「white」という単語を含むすべての行を表示する必要がある場合は、コマンド内の /v を削除してください。
試してください: findstr white File1.txt または findstr black File1.txt または findstr "black white" File1.txt
/V オペランドは、検索文字列を含まないすべての行を出力します。
findstr の使用方法の詳細については、「findstr /?」と入力してください。
答え3
これに追加して、Windows で stdout を使って複数の検索を行う方法についても説明したいと思います。
ネットワーク インターフェイス名とその IP アドレスのみを一覧表示する方法は次のとおりです。
ipconfig /all | findstr /i /L /c:"Ethernet" /c:"IPv4"
Microsoft ドキュメント各パラメータの詳細
/i
文字列を検索するときに、文字の大文字と小文字を無視します。/l
検索文字列を文字通り処理します。/c:<string>
指定されたテキストをリテラル検索文字列として使用します。
答え4
ここでは、単純なファイル検索ではなく、異なる出力方法を使用する別の例を示します。たとえば、 および のネットワーク ポート ステータスを確認しport = 98765
ますstatus = ESTABLISHED or LISTENING
。
たとえば、これは 5 秒ごとに netstat を実行し、netstat の出力を FIND ( も使用可能FINDSTR
) にパイプし、その結果を findstr にパイプして、ポートが特定の状態 (この場合は ) にあるときにフィルタリングしますESTABLISHED or LISTENING
。
netstat -an 5 | find "98765" | findstr "ESTABLISHED LISTENING"
TCP 192.168.123.456:57349 10.10.12.34:98765 ESTABLISHED