2021年01月01日更新
【Windows】grepで検索する方法!代わりのコマンドを紹介!
LinuxというOSで利用することができるgrepコマンドですが、Windowsで利用する場合は別のコマンドで代用するしかありません。WindowsでLinuxのgrepコマンドの代替手段となるものはどういうものか、使い方とともに紹介していきます。
【Windows】grepで検索する方法
LinuxというコンピューターのOSがありますが、便利なgrepコマンドをWindowsでも利用しタイ人も多いでしょう。
grepコマンドとは?
そもそもgrepコマンドとはどういうものなのか、Windowsしか使ったことのない人向けにそのコマンドの内容を紹介します。
Linuxで使用できファイルの検索を含む作業を自動化できるコマンド
grepとは、Linuxで利用することができるコマンドで、ファイルの検索を含む作業の自動化をすることができるコマンドです。
ファイルの中にある「文字列(パターン)」が含まれている行を表示することができ、ログファイルからの特定のログの検索や、ソースコードのコード検索などをすることが可能です。
Windowsにgrepコマンドは存在しない
このgrepですが、UNIX系で使えるコマンドなので、UNIX系OSではないWindowsでは使えません。
Windowsのコマンドを使用してgrepのように検索する方法
しかし、Windowsでもgrepのようなことしたい人もいます。grepコマンドをよく利用していた人は特に思うことが多いでしょう。この場合、grepコマンドの代わりとして次に紹介するコマンドを利用してみてください。
コマンドプロンプト/PowerShellの起動方法
コマンドの紹介の前に、コマンドを利用するコマンドプロンプトや、Windows10からコマンドプロンプトと同様に利用できるWindows PowerShellの起動方法を紹介します。
コマンドプロンプトは、検索欄で「cmd」と入力して起動します。
Windows PowerShellは、Windowsキー+Xキーで表示されたメニューで「Windows PowerShell」を選択しましょう。
findコマンド
findコマンドは、「Shift-JIS」と「BOMありのUTF-16」の文字コードの検索にしか対応しておらず、UTF-8には対応していません。
findコマンドの内容と主要オプション、例示(上図)です。
コマンド | |
---|---|
find 検索する文字列 検索対象のファイル名 | |
オプション | |
/C | 検索する文字列を含む行の数だけ表示 |
/V | 検索する文字列を含まない行をすべて表示 |
/I | 大文字・小文字の区別なしで検索 |
/N | 検索に引っかかった行をすべて表示 |
/OF | オフライン属性が設定されているファイルも検索する |
findstrコマンド
findstrコマンドは、findコマンドの強化バージョンです。対応文字コードは同じく「Shift-JIS」と「BOMありのUTF-16」のみで、UTF-8には対応していません。
findstrコマンドの内容と主要オプション、例示(上図)です。「正規表現」というのを使いこなせないと使いづらいコマンドですが詳細は割愛します。
コマンド | |
---|---|
findstr 検索する文字列(正規表現) 検索対象ファイル | |
オプション | |
/X | 検索する文字列をに完全一致する行のみ表示 |
/V | 検索する文字列に一致しない行のみ表示 |
/I | 大文字・小文字の区別なしで検索 |
/M | 検索する列にヒットした場合ファイル名のみ表示 |
/S | 現在のフォルダとその中のサブフォルダすべてから一致するファイルを検索 |
Select-Stringコマンドレット
Windows PowerShellでのみ利用できる、文字コードUTF-8にも対応しているコマンドがSelect-Stringコマンドレットです。コマンドプロンプトでは利用できません。
Select-Stringコマンドレットの内容と主要オプション、例示(上図)です。
コマンド | |
---|---|
Select-String 検索する文字列 検索対象のファイル名 -Encoding default | |
オプション | |
-Path | ファイルのパスを指定(省略可) |
-Pattern | 検索する文字を、文字列または正規表現で指定 |
-NotMatch | 指定したパターン(正規表現)に一致しないファイルを検索 |
-CaseSensitive | 大文字と小文字を区別する(省略時は区別なし) |
最後に
grepコマンドの代わりとなるコマンドはいくつかありますので、利用しやすいものを利用してみてください。