{category}

Linux - テキスト操作

uniq

ユニーク(テキスト処理とシェル

意味 重複行を除去する


uniqとは?

uniqコマンドは、テキストファイルやテキスト入力から連続する重複行を除去するためのLinuxコマンドです。単独で使用するか、sortコマンドと組み合わせて使うことが多いです。

uniqの具体的な使い方

重複除去と計数例

$ cat names.txt
Alice
Bob
Charlie
Alice
Charlie
David
Charlie

$ sort names.txt | uniq -c

👇出力結果

      2 Alice
      1 Bob
      3 Charlie
      1 David

この例では、まずnames.txtファイルの内容をソートし、その結果をuniqコマンドに渡しています。-cオプションは、各行の出現回数も表示します。これにより、重複を除去しつつ、各名前が何回出現したかを確認できます。

重複行のみを表示する例

$ sort names.txt | uniq -d

👇出力結果

Alice
Charlie

この例では、names.txtファイルの内容をソートし、その後uniqコマンドで重複行のみを表示します。-dオプションは重複する行のみを出力するように指定しています。

大文字小文字を無視して重複を除去する例

$ cat mixed_case.txt
Apple
apple
Banana
banana
Cherry

$ sort mixed_case.txt | uniq -i

👇出力結果

Apple
Banana
Cherry

この例では、mixed_case.txtファイルの内容をソートし、その後uniqコマンドで大文字小文字を区別せずに重複を除去します。-iオプションは大文字小文字を区別しないように指定しています。

uniqに関するよくある質問

Q. uniqの基本的な使い方は?
A. uniqの基本的な使い方は「uniq ファイル名」です。これにより、指定したファイル内の連続する重複行が削除されます。ただし、通常はsortコマンドと組み合わせて使用します。
Q. なぜsortと一緒に使うの?
A. uniqは連続する重複行のみを処理するため、ファイル全体で重複を除去するにはまずsortでソートする必要があります。「sort file.txt | uniq」のような形で使用するのが一般的です。
Q. 重複行の数を表示するには?
A. -cオプションを使用します。例えば、「sort file.txt | uniq -c」とすることで、各行の前に出現回数が表示されます。これは重複の頻度を知りたい場合に便利です。

Linuxのuniqについても学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Linuxのuniqやawk、>&、2>>、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Linuxを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Linuxはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

awk

テキスト処理言語

種類: テキスト操作

>&

出力先を指定

種類: ストリーム制御

2>>

エラー出力を追記

種類: ストリーム制御

git

分散型バージョン管理システム

種類: バージョン管理

chmod

ファイル権限変更コマンド

種類: アクセス制御