カテゴリ: Linuxコマンド集 更新日: 2025/11/23

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

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

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

生徒

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

先生

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

生徒

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

先生

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

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

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

grep -cは、Linuxでファイルの中から特定の文字列を含む行の数をカウントするためのオプションです。

つまり、「そのキーワードが何回出てきたか」ではなく、「そのキーワードを含む行が何行あるか」を数える機能です。

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

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

たとえば、「log.txt」ファイルの中から「エラー」という文字列が含まれる行数を知りたい場合、次のように入力します。


grep -c エラー log.txt
5

この出力結果「5」は、「エラー」という言葉を含む行が5行あったことを意味します。

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 -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
New4
ファイル・ディレクトリ操作
touch --referenceオプションの使い方を完全ガイド!初心者でもわかるタイムスタンプのコピー方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
Linuxのls --full-timeオプションを完全ガイド!初心者でもわかるタイムスタンプのフル表示方法