カテゴリ: Linux基礎 更新日: 2026/05/17

uniqコマンドの基本!重複行をまとめる方法を初心者向けにわかりやすく解説

uniqコマンドの基本!重複行をまとめる方法
uniqコマンドの基本!重複行をまとめる方法

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

生徒

「同じ行がたくさんあるファイルを整理したいんですが、簡単な方法はありますか?」

先生

「ありますよ。Linuxではuniqコマンドを使うと、重複している行をまとめることができます。」

生徒

「重複っていうのは、同じ内容の行のことですか?」

先生

「その通りです。同じ行が連続している場合に、それを一つにまとめて表示してくれます。」

生徒

「難しそうですが、初心者でも使えますか?」

先生

「簡単な例から一緒に見ていけば大丈夫です。順番に理解していきましょう。」

1. uniqコマンドとは

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

uniqコマンドは、Linuxで重複している行をまとめるためのコマンドです。特にログファイルやデータ一覧などで、同じ内容が繰り返されている場合に便利です。

例えば、同じ商品名や同じユーザー名が何度も出てくるファイルを整理したいときに役立ちます。

ただし重要なポイントとして、連続している重複行しかまとめられないという特徴があります。

2. 基本的な使い方

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

まずは基本的な使い方から見ていきましょう。


uniq sample.txt
apple
banana
orange

このコマンドは、sample.txtの中にある連続した重複行を一つにまとめて表示します。

ここでいう「連続」とは、同じ行が並んでいる状態のことです。

3. 重複行を削除する具体例

3. 重複行を削除する具体例
3. 重複行を削除する具体例

次に実際のデータを使って見てみましょう。


cat sample.txt
apple
apple
banana
banana
orange

uniq sample.txt
apple
banana
orange

このように、同じ行が連続している場合は一つにまとめられます。

イメージとしては、同じ言葉を何回も繰り返している文章を、きれいに整理してくれるような動きです。

4. sortコマンドとの組み合わせが重要

4. sortコマンドとの組み合わせが重要
4. sortコマンドとの組み合わせが重要

uniqコマンドは単体でも使えますが、より効果的に使うにはsortコマンドと組み合わせるのが基本です。

なぜなら、重複行が離れているとまとめられないからです。


cat sample.txt
banana
apple
banana
apple

uniq sample.txt
banana
apple
banana
apple

この場合、重複していても連続していないのでまとめられません。


sort sample.txt | uniq
apple
banana

sortで並び替えてからuniqを使うことで、正しく重複をまとめることができます。

この組み合わせはLinuxのテキスト処理でとてもよく使われる基本テクニックです。

5. よく使うオプション

5. よく使うオプション
5. よく使うオプション

uniqには便利なオプションがあります。

-c 重複回数を表示する


sort sample.txt | uniq -c
2 apple
2 banana

それぞれの行が何回出てきたかを確認できます。

-d 重複している行だけ表示する


sort sample.txt | uniq -d
apple
banana

重複しているものだけ知りたいときに便利です。

-u 一度しか出てこない行だけ表示する


sort sample.txt | uniq -u
orange

ユニークなデータだけを抽出したいときに使えます。

6. よくある使い方の例

6. よくある使い方の例
6. よくある使い方の例

ログファイルやデータ分析での使い方を見てみましょう。


cat access.log | sort | uniq -c
10 192.168.1.1
5 192.168.1.2

このようにIPアドレスごとのアクセス回数を数えることができます。

初心者の方は「同じものをまとめて数える道具」と覚えると理解しやすいです。

7. uniqコマンドの注意点

7. uniqコマンドの注意点
7. uniqコマンドの注意点

uniqを使うときにはいくつか注意点があります。

まず、連続していない重複はまとめられません。そのため、基本的にはsortとセットで使うことが重要です。

また、空白や大文字と小文字の違いも別の行として扱われます。

例えば「Apple」と「apple」は別のデータになります。

8. 他のコマンドとの違い

8. 他のコマンドとの違い
8. 他のコマンドとの違い

似たような処理としてsort -uという方法もあります。


sort -u sample.txt
apple
banana
orange

これは並び替えと重複削除を同時に行う方法です。

ただし、重複回数を知りたい場合はuniq -cの方が便利です。

目的によって使い分けることが大切です。

カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
patch -Rオプションの使い方を完全ガイド!初心者でもわかるLinuxでパッチを元に戻す方法
New2
テキスト・データ処理
less -Xオプションの使い方を完全ガイド!終了後も画面内容を残す方法
New3
ファイル・ディレクトリ操作
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説
New4
ディスクとファイルシステム管理
dfコマンドの使い方を完全ガイド!初心者でもわかるLinuxのディスク使用量確認方法
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
lsコマンドとは?Linuxでファイルやディレクトリを一覧表示する基本を初心者向けに解説