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