findstrコマンドで覚えておきたい使い方8個

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 "検索したい文字列" 検索したいファイル