【Windows】「grep」で検索する方法を詳しく解説

Windowsでgrepコマンドを使って検索したい場合にはどうしたら良いのだろうか。この記事では、WindowsでgrepコマンドをコマンドプロンプトやPowerShellで使う方法はあるのか、grepコマンドと互換性のあるコマンドは何か、詳しく解説する。

【Windows】「grep」で検索するには?

grepコマンドとは、UNIX系OSでファイル内の特定の文字列を検索するのに使うためのコマンドである。LinuxやMacでは当たり前のように使える。しかし、Windowsでgrepコマンドを使おうと思ってもエラーが出て使えない。Windowsでgrepコマンドを使うことはできるのだろうか。

・Windowsでgrepコマンドは使えない

結論から言うと、Windowsではgrepコマンドを使うことはできない。Windowsではコマンドプロンプトと、コマンドプロンプトの上位互換のPowerShellがコマンドを使うアプリだが、どちらもgrepコマンドを使うことはできないので注意が必要だ。

ただし、grepコマンドの代わりにWindowsで使えるコマンドは用意されている。grepコマンドを使う必要がある時には、コマンドプロンプトとPowerShellそれぞれで使えるコマンドを使うようにしよう。

【Windows】テキストファイルやフォルダを検索する方法【コマンドプロンプトを使う場合】

Windowsに標準搭載されているコマンドプロンプトで、grepコマンドの代わりのコマンドを使ってテキストファイルやフォルダを検索する方法は次のとおりである。

・起動方法

コマンドプロンプトの起動方法を見ていこう。

コマンドプロンプトの起動方法1

Windowsのタスクバーにある検索ボックスに「cmd」と入力する。検索結果にコマンドプロンプトが表示されるのでクリックする

コマンドプロンプトの起動方法2

コマンドプロンプトが起動する

・findコマンド

検索対象となるファイルの文字コードがShift-JISもしくはBOMあるUTF-16の場合には、findコマンドを使うことができる。Windowsで作成されるファイルは多くがShift-JISなので、Windowsだけで利用する場合にはfindコマンドで問題はない。

findコマンドを使う場合の構文は次のとおりである。

find 検索文字列 検索対象ファイル名

findコマンドのオプションは次のとおりである。

/V:検索対象文字列を含まない行をすべて表示
/C:検索対象文字列を含む行の数だけ表示
/N:検索で引っかかった行を表示
/I:大文字小文字を区別せずに検索
/OFF:オフライン属性設定されたファイルをスキップしない

・findstrコマンド

ファイルに使われている文字コードがShift-JISもしくはBOMあるUTF-16以外のものである場合には、findコマンドでは検索できない。その場合には、findstrコマンドを使う。

findstrコマンドを使う場合の構文は次のとおりである。

findstr 検索対象文字列(正規表現) 検索対象ファイル

findstrコマンドで使えるオプションは次のとおりである。

/B:行の先頭にあるパターンを検索
/E:行の末尾にあるパターンを検索
/L:検索文字列リテラルとして使用
/R:検索文字列正規表現として使用
/S:現在のフォルダとすべてのサブフォルダから一致するファイルを検索
/I:検索するときに大文字と小文字を区別しない
/X:検索文字列に完全に一致する行のみ表示
/V:検索文字列に一致しない行のみ表示
/M:検索文字列が一致したらファイル名のみ表示
/O:一致するか画像の前に文字オフセットを表示
/P:印刷不可能な文字を含むファイルを省く

【Windows】テキストファイルやフォルダを検索する方法【PowerShellを使う場合】

Windowsではコマンドプロンプトの上位互換であるPowerShellを使ってgrepコマンドを使うようにテキストファイルやフォルダを検索することができる。PowerShellで検索する方法は次のとおりである。

・起動方法

まずはPowerShellの起動方法である。

PowerShellの起動方法1

Windowsのタスクバーにある検索ボックスで「PowerShell」と入力する。検索結果の「PowerShell」をクリックする

PowerShellの起動方法2

するとPowerShellが起動する

・Select-Stringコマンド

PowerShellで利用できるgrepコマンドの代わりのコマンドはSelect-Stringコマンドである。Select-Stringコマンドを使うときの構文は次のとおりである。

Select-String 検索対象文字列 検索対象ファイル -Encoding default

オトナライフ編集部
iPhone・Android・SNS・パソコン関連・キャッシュレス、QRコード決済など、さまざまな情報を独自の視点や切り口で発信するニュースサイト
X/Twitter:@otonalife
YouTube:OTONALIFE Ch

iPhone/Androidスマホやキャッシュレス決済、SNS、アプリに関する情報サイト[オトナライフ]

関連記事

【Windows】「grep」で検索する方法を詳しく解説のページです。オトナライフは、【スキル・ビジネスコマンドWindowsコマンドプロンプトgrepPowerShell】の最新ニュースをいち早くお届けします。