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

 。

 

posted @ 2024-01-31 17:15  小鲨鱼2018  阅读(24)  评论(0编辑  收藏  举报