Windowsのバッチファイルでテキスト検索を行う際に便利なのが find コマンドです。特定のキーワードを含む行を抽出する、条件付きで検索する、ログファイルから特定の情報を取り出すなど、さまざまな場面で活用できます。本記事では find コマンドの基本的な使い方から応用例までを詳しく解説します。
find コマンドは、指定されたテキストファイルや標準入力から、特定の文字列を含む行を検索して表示するためのWindowsコマンドです。Linuxの grep コマンドと似た動作をしますが、オプションの仕様が異なります。
基本的な構文は以下のとおりです。
find "検索文字列" ファイル名 または、標準入力から検索する場合は以下のように使います。
command | find "検索文字列" find "error" logfile.txt このコマンドは logfile.txt から “error” を含む行を表示します。
dir | find "test" このコマンドは dir コマンドの出力から “test” を含む行を表示します。
find コマンドには便利なオプションがいくつかあります。
| オプション | 説明 |
|---|---|
| /V | 指定した文字列を含まない行を表示する |
| /C | 一致する行の数だけを表示する |
| /N | 一致する行の行番号を表示する |
| /I | 大文字・小文字を区別せずに検索する |
find /V "success" logfile.txt logfile.txt から “success” を含まない行を表示します。
find /C "error" logfile.txt logfile.txt に “error” が何回出現するかをカウントします。
find /N "warning" logfile.txt logfile.txt で “warning” を含む行を、行番号付きで表示します。
find /I "Error" logfile.txt “Error”, “error”, “ERROR” などすべてのバリエーションを検索します。
Windowsには findstr という、find より高機能なコマンドも存在します。findstr は正規表現をサポートしており、より柔軟な検索が可能です。
| コマンド | 特徴 |
| find | 単純な文字列検索。大文字小文字の区別やカウントが可能 |
| findstr | 正規表現や複数ワード検索に対応。高度な検索が可能 |
find コマンドは、Windowsバッチスクリプトで手軽にテキスト検索を行うための基本コマンドです。/V や /C などのオプションを使いこなせば、ログ解析やデバッグに大いに役立ちます。また、より高度な検索が必要な場合は findstr も併せて活用すると便利です。ぜひ、日々の作業に役立ててください!