Windowsコマンド虎の巻

findstr

findstrは、ファイルから文字列を検索するコマンドです。

解説

findstrコマンドはファイルから文字列を検索する時に使用します。
正規表現を使った検索や複数ファイルを通した検索も行うことができます。

同様のコマンドに、機能がシンプルな findコマンドもあります。

構文

(構文)
FINDSTR [オプション] <検索文字列> <ファイル名>
【パラメータ】
パラメータ説明
オプション下表【オプション】参照
検索文字列検索する文字列を指定する
ファイル名検索対象のファイル名を指定する ※省略不可
※絶対パス、相対パスどちらでもOKです。
※ワイルドカードが使用できます。
(ワイルドカード記号)
 *:0文字以上の任意の文字列
 ?:1文字以下の任意の文字列
【オプション】
オプション説明
/B行の先頭に一致するもののみ対象とする
/E行の末尾に一致するもののみ対象とする
/I大文字小文字を区別しない
/L検索文字列をリテラルとして検索する
/M検索文字列に一致するものが1つでも存在するファイル名を表示する
/N検索結果に行番号を表示する
/O検索結果に文字位置を表示する
/R検索文字列を正規表現として検索する
/Sサブフォルダも含めて検索する
/V検索文字列に一致しない行を検索対象とする
/X検索文字列が完全に一致する行を検索対象とする
/?コマンドのヘルプを表示する

以下の正規表現が使用できます。

【正規表現】
パターン説明
^行頭
$行末
.任意の1文字 (例)[a-z]. ⇒英小文字1文字
*0文字以上の繰り返し (例)[a-z]* ⇒英小文字の繰り返し
[文字列]文字列の中の任意の1文字 (例)[abc] ⇒a,b,cいずれか
[^文字列]文字列の中以外の任意の1文字 (例)[^abc] ⇒a,b,c以外
[文字1-文字2]文字1~文字2の中の任意の1文字 (例)[a-z] ⇒a~z
\エスケープ文字 (例)\\ ⇒\を表す

サンプル

aa.txt内で、"abc"が含まれる行を表示する

C:¥>findstr abc aa.txt

aa.txt内で、行の先頭が"abc"で始まる行を表示する

C:¥>findstr /b abc aa.txt

aa.txt内で、行の末尾が"abc"で終わる行を表示する

C:¥>findstr /e abc aa.txt

aa.txt内で、"abc"が含まれない行を表示する

C:¥>findstr /v abc aa.txt

aa.txt内で、"abc"が含まれる行を表示する(大文字小文字を区別しない)

C:¥>findstr /i abc aa.txt

aa.txt内で、"abc"が含まれる行を表示する(行番号表示)

C:¥>findstr /n abc aa.txt 1:abcabc 3:abcdefabcdef

aa.txt内で、「aで始まりcで終わる3文字の文字列」が含まれる行を表示する

C:¥>findstr /r a.c aa.txt

関連項目

  • find:テキストファイルの中身を検索する