【问题标题】:Sorting based on first column and highest number in third column根据第一列和第三列中的最高数字排序
【发布时间】:2014-09-05 19:15:17
【问题描述】:

我有一个需要排序的文本文件,我的目标是在我的每个模块中只保留最长的序列。我的文本文件如下所示:

1  abc  35
1  def  90
1  ghi  100
2  jui   500
3  yui   500
3  iop   300

我的目标是通过保留第 3 列中的最高数字来对唯一模块(第一列)进行排序,就像这样:

1  ghi 100
2 jui   500
3 yui  500

到目前为止,我检查了排序选项,但没有成功,我猜 awk 也可以做到! 我试过了:

sort -u -k1,1 Black.txt | sort -k3n,3

任何帮助将不胜感激!

【问题讨论】:

    标签: linux


    【解决方案1】:

    您首先根据第三列对它们进行排序,然后根据第一列对它们进行唯一性排序。

    sort -r -k 1 -k3n,3 Black.txt|sort -u -k1,1
    

    输出

    1  ghi  100
    2  jui   500
    3  yui   500
    

    【讨论】:

    • 嘿,是的,我的文件是制表符分隔的,但这个命令似乎不起作用,与我的命令相同,它只为每个模块选择第一行!
    • @user3188922,检查更新的答案。我假设您正在使用 bash。我能够得到结果
    • 嘿 Ashoka,非常感谢,我没有得到结果,我怀疑我的文件 smtg 有问题,但如果你管理得当,我应该能够解决这个问题!感谢您的时间和精力
    • @user3188922,很高兴为您提供帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多