広告スペース(バナー)
🖥️Linux/シェルコマンド レッスン
ターミナルの基本操作6
ファイル操作の基礎6
権限とファイル検索6
プロセスとディスク管理6
履歴とテキスト処理6
環境変数とネットワーク基本6
接続と比較・日時操作6
テキスト整形と情報取得6
仕上げのコマンド12
レッスン 24 / 61

uniq で重複した行をまとめよう

「同じ内容の行が連続しているファイルから、重複をまとめたい」というときに使うのがuniqです。uniqは隣り合う行が同じ内容のとき、それをまとめて1行にするコマンドです。

uniq ファイル名という書式で使います。重複した回数も表示したいときは-cオプションを付けます。uniqは隣接する行しか比較しないため、事前にsortしておくのが基本です。

uniq sorted-fruits.txtを実行すると、あらかじめソート済みのファイルから連続する重複行がまとめられ、それぞれ1回だけ表示されます。

よくあるつまずきは、ソートせずにuniqだけを使い、離れた場所にある同じ内容の行が重複としてまとめられないことです。sort file | uniqの組み合わせを覚えておきましょう。

実務ではアクセスログから重複したIPアドレスの件数を集計するなど、集計処理の一部として頻繁に使われます。

Linux/シェルコマンド
試してみよう(疑似ターミナルへの入力例)
uniq sorted-fruits.txt

🧑‍💻 このコマンドは Linux/シェルコマンドの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。

🎯
ここまでできればゴール達成!
重複する行をまとめたり、数えたりできるようになります。
広告スペース(バナー)
広告スペース(記事内)