Linux Tips

ソートされたファイルから重複した行を削除するには

北浦訓行
2002/1/17

 ソートされたファイルから重複した行を削除するには、uniqコマンドを使用する。ここでわざわざ「ソートされたファイルから」と断っているのは、uniqコマンドが重複しているかどうかを調べるのは、隣接する行だけだからだ。そのため、あらかじめsortコマンドでソートしておかないと、重複した行を削除することはできない。ソートされていないときは、-uオプションで1度だけしか現れない行を出力するといいだろう。

$ cat sample.txt
a
A
b
B
c
C
a
a
a
b
b
c
$ sort -i sample.txt | uniq
A
B
C
a
b
c

 また、-cオプションを指定すると重複した行の数を表示するので、集計作業などに応用可能だ。

$ sort -i sample.txt | uniq -c
      1 A
      1 B
      1 C
      4 a
      3 b
      2 c

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間