ホーム > テキスト処理・検索 > uniq

uniqコマンドガイド:重複行の削除と確認

`uniq`コマンドは、テキストファイルやパイプを通じて渡されたデータから連続する重複行を削除したり、重複行の数を数えたりするために使用されます。`sort`コマンドと組み合わせて使用するとその真価が発揮され、データ整理や分析作業に不可欠なツールです。

uniqコマンドの概要

`uniq`は「unique(ユニークな)」の略で、ファイル内の重複行を見つけて処理する機能を果たします。ここで重要なのは、`uniq`が**連続して重複する行**のみを処理するという点です。したがって、ファイル全体から重複を削除するには、まず`sort`コマンドを使用してデータをソートする必要があります。

uniqの動作原理

uniqコマンドは、入力行を1行ずつ読み込み、直前の行と比較します。2つの行が同じであれば重複とみなされ、異なる場合は新しいユニークな行とみなされます。このプロセスのため、ファイル全体の重複を削除するには、必ず`sort`コマンドでファイルをソートする前処理が必要です。

主要オプション

`uniq`コマンドの様々なオプションを活用することで、重複の削除、カウント、特定の行の出力など、詳細な作業を実行できます。

1. 基本機能

2. 比較方法の制御

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`uniq` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

よく使われる例

uniqと`sort`を組み合わせてデータを効果的に処理する方法を学びましょう。

ファイル全体から重複行を削除

sort data.txt | uniq

`sort`で`data.txt`ファイルをソートした後、`uniq`でファイル全体の重複行を削除します。この組み合わせは最も一般的な使用法です。

重複した行と回数を出力

sort data.txt | uniq -c

`data.txt`ファイルの重複行を削除し、各行が何回出現したか回数とともに出力します。

ファイル全体から重複行のみ出力

sort data.txt | uniq -d

`data.txt`ファイルで2回以上出現した行のみ出力します。

ファイル全体から1回だけ出現したユニークな行のみ出力

sort data.txt | uniq -u

`data.txt`ファイルで重複せず1回だけ出現した行のみ出力します。

特定のフィールドを無視して重複を削除

sort log.txt | uniq -f 1

ログファイルで時間情報(最初のフィールド)を無視し、残りの内容のみで重複を削除します。


関連するコマンド

機能的に類似しているか、よく一緒に使われるコマンドです。


同じカテゴリのコマンド