linux 中实现输出指定列元素的重复次数编号

 

001、 awk数组实现

复制代码
[root@PC1 test01]# ls
a.txt
[root@PC1 test01]# cat a.txt       ## 测试数据
ERR219543       Africa
ERR219546       kkkk
ERR229467       qqqq
ERR229468       qqqq
ERR229471       mmnn
ERR219547       kkkk
ERR2214955      qqqq
ERR219544       Africa
ERR219545       Africa
ERR2214969      qqqq
[root@PC1 test01]# awk '{OFS = "\t"; ay[$2]++; print $0, ay[$2]}' a.txt   ## 借助于awk中数组来实现
ERR219543       Africa  1
ERR219546       kkkk    1
ERR229467       qqqq    1
ERR229468       qqqq    2
ERR229471       mmnn    1
ERR219547       kkkk    2
ERR2214955      qqqq    3
ERR219544       Africa  2
ERR219545       Africa  3
ERR2214969      qqqq    4
复制代码

 

002、 

复制代码
[root@PC1 test01]# ls
a.txt
[root@PC1 test01]# cat a.txt
ERR219543       Africa
ERR219546       kkkk
ERR229467       qqqq
ERR229468       qqqq
ERR229471       mmnn
ERR219547       kkkk
ERR2214955      qqqq
ERR219544       Africa
ERR219545       Africa
ERR2214969      qqqq                                ## 输出编号
[root@PC1 test01]# cut -f 2 a.txt | sort | uniq | while read i; do grep "[[:space:]]$i" a.txt | awk '{OFS = "\t"; print $0, NR}' >> xxx; done
[root@PC1 test01]# cut -f 1 a.txt | while read i; do grep "$i[[:space:]]" xxx >> yyy; done
[root@PC1 test01]# cat yyy                          ## 原序输出
ERR219543       Africa  1
ERR219546       kkkk    1
ERR229467       qqqq    1
ERR229468       qqqq    2
ERR229471       mmnn    1
ERR219547       kkkk    2
ERR2214955      qqqq    3
ERR219544       Africa  2
ERR219545       Africa  3
ERR2214969      qqqq    4
复制代码

 

 

posted @   小鲨鱼2018  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-07-12 plink 软件中 --het参数
2022-07-12 plink 软件中 --check-sex参数
2022-07-12 plink 软件中 cases 和 controls
2022-07-12 plink 软件中 Total genotyping rate 指的是什么?
2022-07-12 plink Error: Failed to extract eigenvector(s) from GRM.
2021-07-12 c语言为什么设计这么多种数据类型
2021-07-12 c语言中不同进制数的表示
点击右上角即可分享
微信分享提示