バッチではgrepの代わりに「findstr」を使う

 windowsのbatchではgrepの代わりにfindstrが使うことができる。正規表現も使える。

オプション説明
/v指定した文字列を含まない行を表示。
/i大文字・小文字の区別をしない。
/n検索結果に行番号をつける。
/m一致するものが1つでもあった場合、
検索一致行ではなくそのファイル名を表示する。

OR条件

 OR条件で検索したい場合は「"」(ダブルクォーテーション)で括った中を「 」スペースで区切ることでOR条件で検索する事ができる。

例:先頭が「?」か「!」か「M」で始まる行を抽出する場合。

findstr "^? ^! ^M" [検索対象ファイルのパス]

AND条件

 AND条件で検索したい場合は、「|」(パイプ)でつなげていけばいいのだが、1つだけ注意点!!
1つめの条件に対してだけ検索対象ファイルを指定して、2つ目の条件以降(1つめの「|」以降)はAND条件の指定のみ記載する。

例:「!」から始まる行で「error」と「111」を含む行を抽出する場合。

findstr "^!" [検索対象ファイルのパス] | findstr "error" | findstr "111"