2020年10月03日更新
Windowsで検索コマンド「grep」は使える?代わりのコマンドを紹介!
Linuxでよく使う検索コマンドの「grep」はWindowsでは使えません。しかし、コマンドプロンプトやPowerShellなら「grep」の代わりのコマンドを使えます。この記事では、Windowsでgrepの代わりのコマンドを使う方法をお伝えします。
目次
Windows PCで検索コマンドgrepは使えない?
LinuxとWindowsの両方を使いこなしている方の中には、Linuxで使っているコマンドをWindowsでも使えたら便利だと考える方も少なくありません。特に、Linuxで特定のファイルから特定の文字列を検索できる「grep」をWindowsでも使えないかと考える方がたくさんいます。
この記事では、Windowsでgrepを使えるのか、grepの代わりに使えるコマンドはあるのか、詳しく解説します。
Windowsではgrepは使えない
結論から申し上げると、Windowsではgrepは使えません。Windowsでコマンドを使えるアプリはコマンドプロンプトやPowerShellですが、どちらを使ってもgrepのコマンドはそのままWindowsでは使えません。
代わりのコマンドを使いこなしてみよう!
しかし、grepと同じ様に、特定のファイルから特定の文字列を検索できるコマンドをWindowsでも使うことはできます。Windowsでは、コマンドプロンプトとPowerShellのそれぞれで、grepと同じ働きをするコマンドが使えます。grepをWindowsでも使いたい方は、grepの代わりに使えるコマンドを覚えて使えるようにしましょう。
Windows PCでgrepの代わりの検索コマンドを使う方法
Windowsでgrepと同じ働きをする、検索コマンドを使い方法をお伝えします。WindowsではコマンドプロンプトとPowerShellのそれぞれで使えるので、それぞれの使い方を解説します。
コマンドプロンプトで使う方法
まずはコマンドプロンプトでgrepの代わりのコマンドを使う方法です。
まずは、コマンドプロンプトを起動しましょう。Windows10の「スタートボタン」をクリックして「Windowsシステムツール」からコマンドプロンプトを起動します。Windowsのシステムを変更する場合には管理者権限での起動が必要ですが、今回は通常の起動で大丈夫です。
findコマンド
コマンドプロンプトでgrepの代わりに使えるコマンドの1つ目は「find」です。次のように構文を入力します。
「find 検索文字列 検索対象ファイル名」
このコマンドで利用できるオプションは次の通りです。
オプション | 内容 |
/V | 検索対象文字列を含まない行をすべて表示 |
/C | 検索対象文字列を含む行の数だけ表示 |
/N | 検索で引っかかった行を表示 |
/I | 大文字小文字を区別せずに検索 |
/OFF | オフライン属性が設定されたファイルをスキップしない |
findstrコマンド
正規表現を使って検索したい場合には、「findstr」のコマンドを使います。入力する構文は次の通りです。
「findstr 検索対象文字列(正規表現) 検索対象ファイル」
このコマンドで利用できるオプションは次の通りです。
オプション | 内容 |
/B | 行の先頭にあるパターンを検索 |
/E | 行の末尾にあるパターンを検索 |
/L | 検索文字列リテラルとして使用 |
/R | 検索文字列正規表現として使用 |
/S | 現在のフォルダとすべてのサブフォルダから一致するファイルを検索 |
/I | 検索するときに大文字と小文字を区別しない |
/X | 検索文字列に完全に一致する行のみ表示 |
/V | 検索文字列に一致しない行のみ表示 |
/M | 検索文字列がヒットしたらファイル名のみ表示 |
/O | 一致するか画像の前に文字オフセットを表示 |
/P | 印刷不可能な文字を含むファイルをスキップ |
PowerShellで使う方法
grepの代わりのコマンドはPowerShellでも利用できます。
PowerShellの起動方法はWindows10の「スタートボタン」から「Windows管理ツール」を右クリックします。すると表示されるメニューの中にあります。
PowerShellを開いたら「Select-String」というコマンドを使います。構文は次の通りです。
「Select-String 検索対象文字列 検索対象ファイル -Encoding default」
Windows10でgrepの代わりに使えるコマンドを使ってみよう!
この記事では、Linuxの「grep」の検索コマンドをWindowsでも使う方法について解説してきました。grepはWindowsではそのまま使えませんが、代わりのコマンドを使えるようになれば、grepと同じように検索できます。ぜひgrepをWindowsでも使いたい方は、代わりのコマンドを使いこなせるようにしましょう。