カテゴリ: Linuxコマンド集 更新日: 2026/03/09

grep -cオプションの使い方を完全ガイド!Linuxで一致した行数をカウントする方法

grep -cオプション|一致した行数をカウントする
grep -cオプション|一致した行数をカウントする

先生と生徒の会話形式で理解しよう

生徒

「先生、grepコマンドで特定の文字列を検索できるのは分かりました。でも、見つかった行が何行あるか数えるにはどうしたらいいんですか?」

先生

「それなら-cオプションを使うといいよ。指定したキーワードに一致した行数を数えてくれる便利な機能なんだ。」

生徒

「なるほど!grepって検索だけじゃなくて、カウントもできるんですね!」

先生

「そうなんだよ。ログファイルの分析や、どのくらいエラーが発生してるか調べたいときに便利なんだ。使い方を詳しく見ていこうか。」

1. grep -cオプションとは?

1. grep -cオプションとは?
1. grep -cオプションとは?

grep -cは、Linuxのターミナルでファイルの中から特定のキーワードが含まれている行が全部で何行あるかを素早くカウントするための便利なオプションです。末尾の「c」は「count(カウント)」の頭文字だと覚えると分かりやすいでしょう。

ここで初心者が間違えやすい重要なポイントが1つあります。それは、このコマンドが数えるのは「単語の数」ではなく、あくまで「行の数」であるという点です。

初心者向け:行数カウントのイメージ

たとえば、1行の中に「エラー」という言葉が3回書いてあっても、grep -cでカウントすると「1行」として計算されます。文章全体の中に、そのキーワードが出現する行がいくつ存在するかを特定したい時に役立ちます。

実際に、簡単なテキストファイル(sample.txt)を例に、どのような動作になるか見てみましょう。


cat sample.txt
りんご
みかん、りんご
バナナ
grep -c りんご sample.txt
2

上記の例では、1行目と2行目に「りんご」という言葉が含まれているため、実行結果として「2」が表示されます。プログラミングやサーバーの運用経験がない方でも、膨大なデータの中から特定のデータが「何件(何行)あるか」を瞬時に把握できるため、日常的なログ確認作業などで非常に重宝される機能です。

2. grep -cの基本的な使い方

2. grep -cの基本的な使い方
2. grep -cの基本的な使い方

grep -cの基本的な構文は、grep -c [検索したい文字列] [対象のファイル名]という形になります。非常にシンプルですが、コマンドラインに慣れていない方でも、特定のデータが何件存在するかを数秒で確認できる強力なツールです。

未経験者向けの具体例

たとえば、あなたがサーバーの管理人で、1日のシステムログが記録された「log.txt」というファイルを持っているとします。その膨大なログの中から、異常を知らせる「エラー」という文字が何回(何行)記録されたかを調べたい場合、以下のようにコマンドを入力します。


grep -c エラー log.txt
5

この実行結果に表示された「5」という数字は、ファイル内に「エラー」というキーワードを含む行が合計で5行見つかったことを示しています。

もし検索したい文字列にスペースが含まれる場合は、"404 Not Found"のように引用符で囲むことで、正しくカウントすることができます。このように、ファイルの中身をすべて開いて自分の目で数える必要はなく、コマンド一つで正確な統計データを得られるのがgrep -cの最大のメリットです。

3. grep -cと通常のgrepの違い

3. grep -cと通常のgrepの違い
3. grep -cと通常のgrepの違い

通常のgrepでは、一致した行そのものが表示されます。


grep エラー log.txt
2025-09-14 エラー発生
2025-09-15 エラーコード: 500
2025-09-16 エラー処理開始

しかし-cを付ければ、出力は数字だけ。どのような内容の行かではなく、「行数だけ知りたい」ときに便利です。

4. grep -cの実用例

4. grep -cの実用例
4. grep -cの実用例
  • ログファイルでエラー発生回数を数える
  • 設定ファイルで特定の項目が何回使われているか確認する
  • メール本文の中にあるキーワードの出現行数をチェックする

たとえば、Webサーバーのログに含まれる「404 Not Found」の発生行数を調べたい場合は以下のようにします。


grep -c "404 Not Found" access.log
12

5. 複数ファイルに対してgrep -cを使う

5. 複数ファイルに対してgrep -cを使う
5. 複数ファイルに対してgrep -cを使う

grep -cは、複数のファイルにまたがって使うこともできます。


grep -c エラー log1.txt log2.txt
log1.txt:3
log2.txt:7

このように、各ファイルごとの一致行数が表示されて非常に分かりやすくなります。

6. grep -ciで大文字小文字を無視してカウント

6. grep -ciで大文字小文字を無視してカウント
6. grep -ciで大文字小文字を無視してカウント

「Error」「ERROR」「error」などのように、大文字と小文字が混在している場合は、-iオプションを併用します。


grep -ci error log.txt
10

これにより、「Error」や「ERROR」などもすべてカウント対象になります。

7. grep -cvで除外した行数をカウント

7. grep -cvで除外した行数をカウント
7. grep -cvで除外した行数をカウント

逆に、あるキーワードを含まない行の数を知りたいときは、-v(除外)と一緒に使います。


grep -cv エラー log.txt
95

この場合、「エラー」が含まれていない行が95行あることがわかります。

8. wc -lとの違い

8. wc -lとの違い
8. wc -lとの違い

似たようなことをするコマンドにwc -lがあります。これは行数をカウントするコマンドです。

しかし、grep -c条件に一致した行だけを数えるので、目的に応じて使い分けましょう。


grep エラー log.txt | wc -l
5

これはgrep -c エラー log.txtと同じ結果になります。

9. grep -cの注意点

9. grep -cの注意点
9. grep -cの注意点
  • キーワードが1行に複数回登場しても「1行」としてカウントされる
  • あくまで行単位で数える点を理解しておく
  • 複雑なパターンを使いたいときは、正規表現を活用するとより柔軟に対応できる

例えば、1行に「エラー」という単語が2回出ていても、grep -cはその行を「1行」としてカウントします。

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat --versionの使い方を完全解説!Linux初心者でもわかるバージョン確認の基本
New2
ファイル・ディレクトリ操作
touch --versionオプションの使い方を完全ガイド!初心者でもわかるバージョン確認方法
New3
ソートとユニーク処理
sortコマンドの基本!初心者でもわかるLinuxでテキストを並べ替える方法
New4
ファイル・ディレクトリ操作
find -deleteオプションを完全解説!初心者でもできるLinuxファイル削除の基本
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!