everyone!删除重复项并保留包含来自一列的最大值的行 - LINUX
我想删除重复项,并保留具有4个字段的文件中的一列(第4列)中的最高值的行。我必须在Linux服务器上执行此操作。
之前
gene subj e-value ident
g1 h1 0.05 75.5
g1 h2 0.03 60.6
g2 h7 0.00 80.5
g2 h9 0.00 50.3
g2 h4 0.03 90.7
g3 h5 0.10 30.5
g3 h8 0.00 76.8
g4 h11 0.00 80.7
后
gene subj e-value ident
g1 h1 0.05 75.5
g2 h4 0.03 90.7
g3 h8 0.00 76.8
g4 h11 0.00 80.7
太感谢你了,我很抱歉,如果我问重复的东西!但是我没有为我的问题找到答案。
什么具有u试过吗? – tso
我试过基于awk的命令,如'cat blast_selected_split0_outfmt6.txt | awk -F'\ t''{if($ 1 $ 3 in a){if($ 7> a [$ 1 $ 3]){a [$ 1 $ 3] = $ 7; r [$ 1 $ 3] = $ 0;}} else if($ 3 $ a 1){if($ 7> a [$ 3 $ 1]){a [$ 3 $ 1] = $ 7; r [$ 3 $ 1] = $ 0;}} else {a [$ 1 $ 3] = $ 7; r [$ 1 $ 3] = $ 0;}} END {for(x in r)print r [x]}'' –
但是它保留了重复的 –