最初のフィールドに多くの異なる値がある大きなファイルで、最も頻繁に使用される行を印刷し、タブで区切られたキー値に関する重複を削除しようとしました。
入力例:
a|gofortheeyeboo 0.61
a|gofortheeyeboo 0.81
a|gofortheeyeboo 0.81
a|gofortheeyeboo 0.81
a|gofortheeyeboo 0.81
a|gofortheeyeboo 0.81
a|gofortheeyeboo 0.91
a|gofortheeyeboo-gone 0.07
a|gofortheeyeboo-gone 0.07
a|gofortheeyeboo-abouttogone 0.61
a|gofortheeyeboo-abouttogone 0.12
b|attaack-attack 0.07
異なるキーの望ましい出力:
a|gofortheeyeboo 0.81
a|gofortheeyeboo-gone 0.07
a|gofortheeyeboo-abouttogone 0.61
a|gofortheeyeboo-abouttogone 0.12
b|attaack-attack 0.07
これまでのところ、 2 番目のタブ区切りフィールドで最大値の出力を取得して、重複を削除することができました。
awk -F '\t' '{ if (l[$1] <= $2) l[$1] = $2} END {for (i in l) print i"\t"l[i];}'
上記のコマンドの出力は望ましくありません。
a|gofortheeyeboo 0.91
a|gofortheeyeboo-abouttogone 0.61
b|attaack-attack 0.07
a|gofortheeyeboo-gone 0.07