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

uniq -cオプションの使い方を完全解説!重複回数をカウントするLinuxテキスト処理入門

uniq -cオプション|重複回数をカウントして表示する
uniq -cオプション|重複回数をカウントして表示する

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

生徒

「Linuxで同じ行が何回出てきたかを数えたいんですが、どうすればいいですか?」

先生

「それならuniq -cコマンドを使うと、重複した行の回数を簡単に表示できますよ。」

生徒

「コマンドって難しそうで不安です。パソコンをあまり触ったことがなくても大丈夫ですか?」

先生

「大丈夫です。まずは仕組みをイメージで理解してから、ゆっくり使ってみましょう。」

1. uniqコマンドとは?

1. uniqコマンドとは?
1. uniqコマンドとは?

uniqコマンドは、Linuxで同じ内容の行(重複行)をまとめて処理するためのテキスト処理コマンドです。ログファイルやデータ一覧など、同じ行が何度も出てくるテキストを整理したいときによく使われます。

Windowsでいうと、Excelで同じ行をまとめて数える作業に近いイメージです。ただし、Linuxでは黒い画面(ターミナル)に文字で命令を入力して操作します。

2. -cオプションの役割

2. -cオプションの役割
2. -cオプションの役割

-cオプションは、「count(数える)」の頭文字です。uniq -cとすることで、各行が何回連続して出てきたかを数字付きで表示できます。

たとえば、名簿やアクセスログで「同じ名前が何回あるか」「同じIPアドレスが何回出現したか」を知りたいときに便利です。

3. 基本的な使い方

3. 基本的な使い方
3. 基本的な使い方

まずは一番シンプルな使い方を見てみましょう。以下は、同じ単語が並んだテキストファイルを処理する例です。


uniq -c sample.txt
      3 apple
      2 banana
      1 orange

左側の数字が出現回数、右側が行の内容です。「appleが3回、bananaが2回」という意味になります。

4. sortと一緒に使う理由

4. sortと一緒に使う理由
4. sortと一緒に使う理由

uniqコマンドは、連続した行しか重複として認識しません。そのため、事前にsortコマンドで並び替えるのが基本です。


sort sample.txt | uniq -c
      3 apple
      2 banana
      1 orange

|(パイプ)は、「前のコマンドの結果を次に渡す」という意味です。水道管のようにつながっているイメージで考えると理解しやすいです。

5. よくある使用例:ログ解析

5. よくある使用例:ログ解析
5. よくある使用例:ログ解析

Linuxでは、サーバーのログ解析にもuniq -cがよく使われます。たとえば、アクセス元のIPアドレスを数える場合です。


sort access.log | uniq -c
    120 192.168.0.1
     45 192.168.0.2
      3 192.168.0.3

このように、どのIPから何回アクセスがあったかが一目で分かります。

6. 他のオプションとの組み合わせ

6. 他のオプションとの組み合わせ
6. 他のオプションとの組み合わせ

-c以外にも、uniqには便利なオプションがあります。たとえば-dは重複行だけを表示します。


sort sample.txt | uniq -cd
      3 apple
      2 banana

この例では、1回しか出てこない「orange」は表示されません。

7. uniqと似たコマンドとの違い

7. uniqと似たコマンドとの違い
7. uniqと似たコマンドとの違い

uniqは「重複の整理」が目的のコマンドです。一方、wcは「行数や文字数を数える」コマンド、grepは「条件に合う行を探す」コマンドです。

それぞれ役割が違うため、「何を知りたいか」によって使い分けることが大切です。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

初心者がよく混乱するのが、「並び替えないと正しく数えられない」という点です。uniq -cがうまく動かないときは、まずsortしているかを確認しましょう。

焦らず、コマンドを一つずつ試すことがLinux操作に慣れる近道です。

カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
find -ctimeオプションの使い方を完全ガイド!状態変更日でファイルを検索する方法
New2
ファイル・ディレクトリ操作
rm --preserve-rootオプションを完全解説!ルートディレクトリの削除を防ぐLinuxの安全機能
New3
テキスト・データ処理
uniq -cオプションの使い方を完全解説!重複回数をカウントするLinuxテキスト処理入門
New4
テキスト・データ処理
grep -Lオプションの使い方を完全解説!一致しなかったファイル名を表示しよう
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
Linuxコマンドの基本
Linuxコマンドとは?基本の考え方とシェルとの関係を初心者向けに徹底解説
No.3
Java&Spring記事人気No3
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!