linux 中根据指定列 删除重复行
001、
[root@PC1 test02]# ls a.txt [root@PC1 test02]# cat a.txt ## 测试数据 ID=gene-ABCC1 a 6121 ID=gene-ABCC1 b 6121 ID=gene-JFEE3 j 876 ID=gene-ABCC5 c 5737 ID=gene-ABCC5 d 5737 ID=gene-EADE5 m 3243 ID=gene-ACCS e 1858 ID=gene-ACCS f 1858 ID=gene-ACOX1 h 5943 ## 删除1,3列重复的行 [root@PC1 test02]# cut -f 1,3 a.txt | awk '{if(NR > 1 && $0 == tmp) {next} else {print NR}; tmp = $0}' | while read i; do sed -n "$i"p a.txt >> uniq_1_3.txt; done [root@PC1 test02]# ls a.txt uniq_1_3.txt [root@PC1 test02]# cat uniq_1_3.txt ID=gene-ABCC1 a 6121 ID=gene-JFEE3 j 876 ID=gene-ABCC5 c 5737 ID=gene-EADE5 m 3243 ID=gene-ACCS e 1858 ID=gene-ACOX1 h 5943
。