ユーザーのログイン日を記録するCSVファイルがあります。
user1,2019-05-21
user1,2019-05-22
user1,2019-05-23
user2,2019-05-20
user2,2019-05-21
user3,2019-05-24
user3,2019-05-29
user4,2019-05-25
user4,2019-05-28
次の形式が必要です。
user1,2019-05-23
user2,2019-05-21
user3,2019-05-29
user4,2019-05-28
頑張ったawk -F, '!a[$1]++'、最後の値の代わりに最初の値を提供します。
ベストアンサー1
$ sort -t, -k1,1 -k2,2r file | sort -t, -u -k1,1
user1,2019-05-23
user2,2019-05-21
user3,2019-05-29
user4,2019-05-28
1つ目は、sort
ユーザーと逆の日付でデータをソートします。このステップの出力は次のとおりです。
user1,2019-05-23
user1,2019-05-22
user1,2019-05-21
user2,2019-05-21
user2,2019-05-20
user3,2019-05-29
user3,2019-05-24
user4,2019-05-28
user4,2019-05-25
2番目はsort
ユーザーだけをソートし、各ユーザー行(最初の行)のインスタンスを1つだけ保持します。