findstrとは?

Windowsのコマンドプロンプトを使用してテキストファイルから任意の文字列を含んだ行を検索したい場合に使用できるコマンドが「findstr」です。文字列を含んだ行を検索するコマンドとしては「find」がありますが、findコマンドとは違って正規表現を使用することができるという違いがあります。
多少難易度が上がりますが、詳細な条件を設定して検索を行いたい場合はfindコマンドよりfindstrコマンドを使用したほうが便利ですよ。この記事では、コマンドプロンプトのfindstrの使い方をご紹介していきます。
findstrの使い方

それでは、findstrの使い方を説明します。今回使用するファイルは、画像の通りとなります。

このファイルから文字列「新宿」が含まれている行を検索するためには「findstr "新宿" name.txt」とコマンドを入力してEnterキーを押しましょう。新宿の文字列が含まれている2行が該当し、このように検索結果に出力されますよ。これでfindstrコマンドの基本の使い方となります。
or検索…「A」もしくは「B」のように複数条件で該当する文字列を検索したい場合は「findstr "新宿 台東" name.txt」のように複数検索をしたい文字列を半角スペースで区切ってコマンドを入力することで、新宿もしくは台東の検索が行われます。もし検索したい文字列に半角スペースが入っている場合は「/C」オプションを使用することでスペースが入っていても一つの文字列として扱うようになります。つまり「/C:"新宿 台東"」のように検索すればOKです。

「~かつ~」といった複数の条件に該当する検索を行う場合には、「and条件」で検索します。and条件での検索を行う場合は「|(パイプライン)」を使用します。「新宿かつ飯島が入っている文字列」で検索を行う場合は「findstr "新宿" name.txt | findstr"飯島"」とコマンドを入力することで、新宿かつ飯島が記載されている文字列のみを検索結果に表示します。

nor検索…「A」でも「B」でもないという検索条件で検索を行うには、「/v」オプションを使用しましょう。「台東」でも「新宿」でもない文字列の行を検索するには、「findstr /v "台東 新宿" name.txt」と入力することで台東と新宿のない行を検索結果に表示させることができます。