コマンドプロンプト
テキストファイルから特定の文字列を含む行の取り出し【コマンドプロンプト】
公開 2021-01-14更新 2026-08-04
ログやリストから「この文字列を含む行だけほしい」というとき、Windowsなら findstr が一番手軽です。
findstr (オプション) [探したい文字列] [探すテキストファイル]
リダイレクトして書き出して使っています
画面に出すだけだと結局コピペが面倒なので、自分はファイルに書き出して使っています。
findstr (オプション) [探したい文字列] [探すテキストファイル] > [出力するファイル名]
>(リダイレクト)と出力ファイル名(list.txt など)を足すだけです。既存の list.txt に追記したいなら、> を >> にすればOKです。
使用例
- 探したい文字列:
hoge - 探すテキストファイル:
TEST.txt - 出力するファイル名:
TEST_hoge.txt
この場合、下記でOKです。
findstr "hoge" TEST.txt > TEST_hoge.txt
文字列はダブルクォーテーションで囲んでおくと、スペースを含む場合もそのまま動きます。
覚えておくと便利なオプション
| オプション | 意味 |
|---|---|
/i | 大文字・小文字を区別しない |
/v | 指定した文字列を含まない行を取り出す |
/n | 行番号を付ける |
/s | サブフォルダ内のファイルも検索する |
/c:"文字列" | スペースを含む文字列をひとかたまりとして検索する |
引数にスペース区切りで複数の語を書くと、findstr は「どれかを含む行(OR検索)」として扱います。フレーズとしてそのまま探したいときは /c: を使ってください。 ここは挙動を勘違いしやすいところです。
findstr /i /c:"error code" TEST.txt > TEST_error.txt
あわせて読みたい
- 検索対象の一覧づくりは → Dirコマンドでフォルダリストを作成
手作業を減らす話の、いまの続き
コマンドで作業を削るのと同じ発想で、いまはAIに任せられる範囲が広がっています。 どこから手をつけるかは人によって違うので、3分の診断とAI活用の実践記事を置いています。
ナオTRYZM管理人
AIに関わるPMで、夜はAIで作って試す人。囲碁では布石が好き(何もない盤面に構想を描く時間)。 嘘をつくと自分があとで気にして引きずるタチなので、報酬が入らないプランでも一番ならそのまま書きます。 守れるルールは3つ — 盛らない。順位を売らない。試せないことも、徹底的に調べて正確に。