UNIX系OSで検索を行うコマンドといえばgrepだが、Windowsにもそれに相当するコマンドがある。
それが、今回紹介するfindstrコマンドだ。このfindstrコマンドについて、覚えておきたい使い方を8個紹介する。
1.基本的な使い方
基本的には、UNIX系OSのコマンドであるgrepと同じように利用することができる。以下のコマンドで、ファイルの中から特定の文字列を持つ行を出力する。
findstr 検索したい文字列 検索したいファイル
なお、文字コードに問題があって正常に検索出来ない場合は、typeとパイプで繋げると良いだろう。
findstr 検索したいファイル | findstr 検索したい文字列
2.検索でヒットした行がファイルの何行目なのか行番号を出力する
検索でヒットした行が、ファイルの何行目に当たるのかを確認するならば、「/N」オプションを用いて行番号を出力すると良いだろう。
findstr /N 検索したい文字列 検索したいファイル
3.検索に一致しない行のみを出力する
検索に一致しない行のみを出力する場合、「/V」オプションを用いると良いだろう。
findstr /V 検索したい文字列 検索したいファイル
4.行頭が一致する行を出力する
行の始まりが検索する文字列と一致する行のみを出力する場合、「/B」オプションを用いる。
findstr /B 行頭を検索したい文字列 検索したいファイル
もしくは、正規表現を用いて
findstr /R ^行頭を検索したい文字列 検索したいファイル
5.行末が一致する行を出力する
```shell\nfindstr /E 行頭を検索したい文字列 検索したいファイル
もしくは、正規表現を用いて
```shell\nfindstr /R 行頭を検索したい文字列$ 検索したいファイル
6.大文字・小文字を区別しない
findstrも、grepと同様にデフォルトでは大文字・小文字を区別する。
この区別をさせずに検索をする場合は、「/I」オプションを用いる。
findstr /I 検索したい文字列 検索したいファイル
7.複数のファイルを検索する
同一ディレクトリの複数のファイルを検索する場合は、ファイルパスをワイルドカードで指定するとよいだろう。
findstr 検索したい文字列 検索するディレクトリパス\*
8.複数のキーワードを検索する
複数のキーワードで検索をする場合は、「"(ダブルクォーテーション)」でその語句を囲み、スペースで区切る。
findstr "検索したい文字列1 検索したい文字列2" 検索したいファイル
なお、スペースを含む語句を検索する場合は「/C:"検索する文字列"」とする。
findstr "検索したい文字列" 検索したいファイル