linux 中 awk命令输出一列中多个类别中各项首次或者最后一次出现的项
001、输出首次出现的项
[root@pc1 test1]# ls test.map [root@pc1 test1]# cat test.map ## 测试数据 1 55910 1 85204 1 122948 2 167127 2 176079 2 361433 3 144010 3 199910 3 234281 ## 输出首次出现的项 [root@pc1 test1]# awk '{if (!($1 in ay)) {print $0; ay[$1] = 0}}' test.map 1 55910 2 167127 3 144010
002、输出最后一次出现的项
[root@pc1 test1]# ls test.map [root@pc1 test1]# cat test.map ## 测试数据 1 55910 1 85204 1 122948 2 167127 2 176079 2 361433 3 144010 3 199910 3 234281 ## 输出最后出现的项 [root@pc1 test1]# awk '{ay[$1] = $2} END {for(i in ay) {print i, ay[i]}}' test.map 1 122948 2 361433 3 234281
。