
次の日付があります。
random check/1 -0.02
random check/1 -0.05
random tell/1 -0.01
random tell/2 -0.02
random checking -0.00
2番目の列を並べ替え、3番目の列を並べ替えてみました。私はそれを使用しましたsort -n -k2,2 -k3,3 file
。しかし、それは私が探している結果を提供しません。
出力は次のようになります。
random check/1 -0.05
random check/1 -0.02
random checking -0.00
random tell/1 -0.01
random tell/2 -0.02
それからそれをユニークにしたいと思います。したがって、最終出力はリンクでなければなりません。
random check/1 -0.05
random checking -0.00
random tell/1 -0.01
random tell/2 -0.02
デフォルトでは、2番目の列、3番目の列、2番目の列の順に並べ替えられるため、最悪の数だけが表示されます。
答え1
sort -nk3,3 file | sort -uk2,2
答え2
sort -k2,2 -k3,3n | awk '$2!=s;{s=$2}'
2番目のフィールドのデータを並べ替え、3番目のフィールドを数値順に並べ替えます。 awkを使用して2番目のフィールドの最初の項目を印刷します(2番目のフィールドが保存された値と異なる場合はその行を印刷し、2番目のフィールドを保存します)。