gpt4 book ai didi

linux - 删除重复项并保留包含一列最大值的行 - LINUX

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:00 25 4
gpt4 key购买 nike

各位!

我想删除重复项并保留具有 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

非常感谢,如果我重复提问,我很抱歉!但我没有找到我的问题的答案。

最佳答案

你可以试试这个,如果得到没有标题的输出没有问题的话:

tail -n +2 file.txt | sort -k1,1 -k4,4rn | sort -uk1,1

解释:

tail -n +2 file.txt

将删除 header ,这样它们就不会参与所有排序。

sort -k1,1 -k4,4rn

将首先按第 1 列排序 (-k1,1),然后按数字倒序按第 4 列排序 (-k4,4rn)

最后:

 sort -uk1,1

将仅考虑第一列来删除重复项。

请注意 -k1,1 表示从第一列到第一列,因此 -k4,4 是从第四列到第四列。调整以适合您的列.

关于linux - 删除重复项并保留包含一列最大值的行 - LINUX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45535440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com