Windowsの便利な使い方
ファイル操作 → findstr
findstr
文字列や正規表現を使って文字列を検索する
Vista 7 8 10

機能

ファイルの中からテキスト文字列を検索する。検索対象のパス指定が無ければ、プロンプトで入力されたテキストまたは別のコマンドからパイプ処理で渡されたテキストを検索する。正規表現の使用ができる。

形式

findstr (option) [char] (location)



オプション

オプション 説明
/V 指定した文字列を含まない行をすべて表示する
/I 大文字と小文字の区別をしないで検索する
/N 行番号を表示する
/B 行の先頭にあるパターンを検索する
/E 行の末尾にあるパターンを検索する
/L 検索文字列をリテラルとして使用する
/R 検索文字列を正規表現として使用する
/S 現在のディレクトリとすべてのサブディレクトリから(再帰的に)一致するファイルを検索する
/X 完全に一致する行を出力する
/M ファイルに一致する行があるときにファイル名のみ出力する
/O 一致する各行の前に文字オフセットを出力
/P 印刷不可能な文字を含むファイルをスキップする
/OFF[LINE] オフライン属性が設定されたファイルをスキップしない
/A:属性 2桁の16進数で色属性を指定する
※色属性指定方法>>color<<
/F:FileName 指定したファイルからファイル一覧を読み取る
※「/」を指定するとコンソールから読み取る
/C:Char 指定された文字列をリテラル検索文字列として使用する
G:FileName 指定されたファイルから検索文字列を取得する
※「/」を指定するとコンソールから取得
/D:Directory セミコロンで区切られた検索されるディレクトリ文字列テキストの一覧を検索する

正規表現

文字 説明
. 任意の文字
. 任意の文字
* ゼロ個以上の直前の文字またはクラス
^ 行頭
$ 行末
[char1,char2,...] 指定した任意の1文字
[^char1,char2,...] 指定した以外の任意の1文字
[x-y] 指定した範囲の任意の文字
\x メタ文字xのリテラル使用
\<xyz 単語の先頭
xyz\> 単語の終わり

コマンド例

findstr test sample.txt sample.txtの中からtestを検索する
findstr /N /C:"test char" sample.txt sample.txtの中から"test char"が含まれる行を行番号を付けて表示する
findstr "test char" sample.txt sample.txtの中から"test"もしくは"char"が含まれる行を表示する
findstr /X "test char" sample.txt sample.txtの中から"test char"と完全に一致する行を表示する

実行例

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Temp>findstr test sample.txt
This is a test.
test char

C:\Temp>findstr /N /C:"test char" sample.txt
23:test char

C:\Temp>



関連ページ

find ・・・ファイルの中からテキスト文字列を検索する
del ・・・ファイルを削除する
copy ・・・ファイルをコピーする
xcopy ・・・ファイルをディレクトリ構造ごとコピーする
fc ・・・2つのファイルを比較して違いを表示する