Windows でテキスト文字列をファイル内で検索するために使用されます。このコマンドは Linux の grep コマンドに似ており、正規表現を使用して複雑な検索が可能です。
構文
findstr [options] "string" [files]Bashパラメーター
| /B | 行の先頭にあるパターンに一致する行を検索します。 |
| /E | 行の末尾にあるパターンに一致する行を検索します。 |
| /L | 検索する文字列をリテラル(通常の文字列)として扱います。 |
| /R | 検索する文字列を正規表現として扱います。 |
| /S | 指定したディレクトリとそのサブディレクトリ内のファイルを検索します。 |
| /I | 大文字と小文字を区別しない検索を行います。 |
| /C:”string | 検索する文字列にスペースを含む場合などに使用します。 |
例
特定のファイル内で「error」を含む行を検索
C:\>findstr "error" example.txtBashこの例では、example.txt ファイル内で「error」という文字列が含まれる行を検索します。一致するすべての行が出力されます。
複数のファイル内で大文字小文字を区別せずに「warning」を検索
C:\>findstr /I "warning" file1.txt file2.txtBashこの例では、file1.txt と file2.txt ファイル内で「warning」という文字列を大文字小文字を問わずに検索しています。該当するすべての行が出力されます。
ディレクトリ内の全ての .txt ファイルで行の先頭に「2024」を含む行を検索
C:\>findstr /S /B "2024" *.txtBashこの例では、指定したディレクトリおよびサブディレクトリ内のすべての .txt ファイルで、行の先頭に「2024」が含まれる行を検索します。一致する行があるファイルの名前とその行が表示されます。
正規表現を使用して、3桁の数字を含む行を検索
C:\>findstr /R "[0-9][0-9][0-9]" example.txtBashこの例では、example.txt ファイル内で3桁の数字を含む行を正規表現を用いて検索します。一致するすべての行が出力されます。
これらの例を参考に、findstr コマンドを有効に活用してください。


コメント