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