Routinely uniq
uniqコマンドのオプション
さまざまな事情でuniq
コマンドにはお世話になっている。
多くはsort
コマンドと共に、sort -u
というsort
したのちにuniq
するという。
それ以外の便利な使い方に長年気づいてなかったが、以前、uniq -c
で重複して出てきた回数を集計できることを知って記録にも残していた。
これまでわざわざPerlのコード使ってきた重複エントリのカウントの件。uniq -c と sort -rn
— トクニンティヌス@下り坂46(ニンキアリ) (@bonohu) March 23, 2018
の組み合わせでものすごく簡単に解決することが判明
今回さらにuniq -d
で重複したエントリだけを抽出するという技を覚えた。
二つのファイルをcat
してその出現回数を見て、2回のものだけ取り出すという、回りくどいやり方をしていた。
ただ、この場合二つのファイルを結合する際にはsort
したのちにuniq -d
しないといけないということに注意が必要。
uniqコマンドについて詳しくまとめました 【Linuxコマンド集】というブログが大変参考になった。 これによるともっと高度な集計もできそうだが、今のところは使わないですみそうなレベル。 有用な情報をまとめて公開していただき、ありがとうございました。
ちなみに、英語タイトルはこちらのオマージュ。
「データ解析のやり方は毎度同じということはない」毎度やってて思うこと。ちょっとした応用をきかせることが必要なんですよね / “Routinely Unique” https://t.co/6upmrB6N84
— トクニンティヌス@下り坂46(ニンキアリ) (@bonohu) July 27, 2021
(2022年3月2日追記)
uniq -u
で重複がなかったエントリだけ抽出も2つのIDファイルの特徴を知るのに便利だった。
ただ、入力する前のその2つのファイルで重複がある場合にはsort -u
で除いておかないとハマる。