Windowsでできるgrep的なこと

grepと言えば、ファイル中から正規表現で指定した文字列を探し出すUnixのコマンド。エディタにも同様の機能が搭載されているものも多く、プログラムを書くにあたっては大いに力を発揮します。しかし、このgrepはWindows自体には搭載されていません。そこで、似たような機能がないかと探していたところ、見つけたのが「findstr」コマンドです。
例えば、C++ソースコードから「hoge」という文字列を探し出したいとき、cdコマンドでソースコードのあるディレクトリに移動した後、次のようにコマンドを入力します。

>findstr /S hoge *.cpp

これで「hoge」という文字列を含むcppファイルを全て洗い出すことができます。
/Sは「サブディレクトリも検索する」というオプションです。
他に使いそうなオプションは

  • /N:行番号を表示する
  • /I:大文字/小文字を区別しない

などでしょうか。他にも様々なオプションがありますが、詳細については下記の通りに入力すると見ることができます。

>findstr /?