我如何才能获得awk中每条记录的最后一个值?

时间:2017-03-16 15:02:19

标签: awk

我试图获得每条记录的最后一个值,但我不知道如何

这是我的输入

grey;5
grey;6
grey;3
blue:2
blue;1
blue;0
red;5
red;7
red;2

我需要得到这个

grey;3
blue;0
red;2

请帮我解决这个问题

2 个答案:

答案 0 :(得分:2)

尝试:

awk -F'[:;]' 'FNR==NR{A[$1]=$0;next} ($1 in A){print A[$1];delete A[$1]}'   Input_file  Input_file

答案 1 :(得分:2)

我刚刚将:替换为;

$ awk -F\; '{a[$1]=$0} END{for(i in a) print a[i]}' file
red;2
grey;3
blue;0

解释:根据$1哈希值。在这种情况下,最后一次,最后一次服务或smth。