てもとツール
ガイド

特定の文字を含む行だけを取り出す4つの方法と選び方

テキストから特定の文字を含む行だけを抜き出す方法を、Excelのフィルター・テキストエディタの絞り込み・grepコマンド・ブラウザのツールの4つで比較しました。条件が複数のとき、元の行番号が要るとき、どれを選ぶと速いかを整理します。

公開読了目安 約4分

この記事の要点

  • 表として整った資料はExcelのフィルターが速い
  • 1行1件のログや貼り付けたテキストは表に落とす手間が無駄になる
  • grepは強力だがコマンドを覚える必要がある
  • 元の行番号を残したいなら方法を選ぶ段階で決めておく
  • 条件が2つ以上になると手数の差が一気に開く
目次

特定の文字を含む行だけを取り出す方法は、大きく 4 つあります。扱うものが表か、ただのテキストかで選ぶのが近道です。

表として整っているなら Excel のフィルター、貼り付けたテキストなら専用のツールが速くなります。以下で 4 つの向き不向きを並べます。

4つの方法の比較

方法向いているもの準備複数条件元の行番号
Excel のフィルター列が揃った表表への貼り付けが必要詳細設定で可能行番号は表の行
テキストエディタの絞り込み手元のファイルインストールソフトによる表示だけなら残る
grep コマンドファイル・大量データ黒い画面の操作パイプでつなぐオプションで付く
ブラウザのツール貼り付けたテキスト不要画面で足せる付けたままコピー可

どれも「できる/できない」ではなく、そこにたどり着くまでの手数が違います。

Excel のフィルターが向く場面

行がすでに列に分かれていて、以後も表として扱うならフィルターが最短です。

データ範囲を選んで「フィルター」を有効にし、列の絞り込みでテキスト検索するだけです。

一方で、ログのような 1 行 1 件のテキストは表に落とす作業そのものが手間になります。区切り位置の指定を間違えると、時刻や本文が別の列に散ってしまいます。

抜き出した結果を集計するなら Excel、抜き出して別の場所に貼るだけなら表にする意味は薄くなります。

テキストエディタの絞り込みが向く場面

手元にファイルがあり、そのファイルを何度も見るならエディタが向きます。

ただし絞り込みの実現方法はソフトによってかなり違います。専用の機能を持つものもあれば、置換の正規表現で「条件に合わない行を消す」形になるものもあります。

後者は式を 1 つ書き間違えると本文が消えます。しかも消えた理由が画面に出ないので、元に戻して書き直すことになります。

会社の端末ではソフトを自由に入れられないこともあります。その場合はこの選択肢が最初から消えます。

grep コマンドが向く場面

ファイルが何十個もある、あるいは数百万行あるなら grep が圧倒的に速くなります。

grep ERROR app.log のように書き、除きたいときは -v を付けます。行番号は -n で付きます。

弱点は 2 つあります。オプションを覚えていないと使えないことと、手元の端末で使えるとは限らないことです。

日常的に使っていない人にとって、月に数回の作業のためにコマンドを調べ直すのは割に合いません。

ブラウザのツールが向く場面

チャットやメールからコピーしたテキストをそのまま絞り込みたいなら、ブラウザで完結するのが速くなります。

貼り付ける先はテキスト欄 1 つで、表に落とす作業も、ソフトの用意も要りません。

行抽出ツールでERRORを含む行を絞った画面。残った行2、除いた行6という数字の下に、それぞれの一覧が元の行番号つきで並んでいる

行抽出・行フィルタツールでは、残った行と除いた行が同時に並び、行ごとに判定の理由が出ます。貼り付けたテキストはブラウザの中だけで処理されます。

条件が 2 つ以上になると差が開く

1 つの言葉で絞るだけなら、どの方法でも大差ありません。差が出るのは条件が増えたときです。

「ERROR を含む」かつ「テスト環境を含まない」のような組み合わせは、実務ではすぐ出てきます。

grep なら grep ERROR app.log | grep -v テスト環境 とつなぎます。Excel なら詳細設定で条件範囲を別に作ります。エディタでは式が一気に読みにくくなります。

条件を画面で足していける形なら、この段階でも手数が増えません。試しに 1 つ外して結果を見る、という往復もしやすくなります。

元の行番号は「あとから」は戻せない

見落としやすいのがこれです。抜き出した結果だけを持っていると、元の資料の何行目だったかが分からなくなります

報告書に「〇行目を確認してください」と書くとき、絞り込んだあとの番号では相手に伝わりません。

grep なら -n、ブラウザのツールなら行番号を付けるチェックがあります。Excel のフィルターでは表の行番号がそのまま残ります。

必要になってから探し直すと二度手間になるので、方法を選ぶ段階で決めておくのが確実です。

迷ったときの選び方

3 つの質問で絞れます。

  1. 抜き出したあと集計するか → するなら Excel
  2. 対象がファイルで、何十個もあるか → そうなら grep
  3. それ以外 → 貼り付けて使えるブラウザのツール

多くの人が実際に困るのは 3 番目です。チャットに貼られた記録、システムからコピーした一覧、メールの本文といったものは、ファイルでも表でもありません。

抜き出したあとの整理

行を抜き出したあと、そのまま使えることは意外と少ないものです。

同じ行が何度も出てくるならテキスト重複行削除ツール、順番を揃えたいならテキスト行ソートツールへ渡すと形が整います。

抜き出す前に文字の書き方が揃っていないなら、全角・半角変換ツールで先に寄せておくと取りこぼしが減ります。

まとめ

方法の優劣ではなく、扱っているものが表かテキストかで選ぶと迷いません。

条件が 2 つ以上になるか、元の行番号が要るかも、先に決めておくと後戻りしなくて済みます。

貼り付けたテキストをその場で絞り込みたいときは、行抽出・行フィルタツールを試してください。

あわせて読みたい

同じテーマ・関連ツールの記事です。