gpt4 book ai didi

linux - 如何订购具有特定条件的文本文件?

转载 作者:可可西里 更新时间:2023-11-01 11:51:18 25 4
gpt4 key购买 nike

我无法解决文本文件的问题,因为我是 linux 命令和/或 bash 脚本的初学者。

我有一个这样的文本文件:

object1 10.603  0.757
object1 10.523 0.752
object1 10.523 0.752
object1 10.456 0.747
object1 10.456 0.747
object1 10.271 0.734
object2 11.473 0.194
object2 11.460 0.194
object2 11.445 0.191
object2 11.421 0.190
object3 9.272 0.12
object3 9.236 0.12
object3 8.814 0.119
object3 0.968 0.119
object3 10.959 0.119

我必须对这个文件做一个特定的切割和排序操作:对于每个包含单词“object1”、“object2”等的字符串,我只想打印具有最高值的字符串第三栏;然后我想根据第三列的值对这个操作的输出进行排序。

为了清楚起见,输出应该是这样的:

object1 10.603  0.757
object2 11.473 0.194
object3 9.272 0.12

对使用 linux 命令和/或 bash 脚本有什么建议吗?

感谢大家

最佳答案

使用 sortawk:

sort -k1,1 -k3rn -k2rn file.txt | awk '!seen[$1] {print} {seen[$1]++}'

sort 首先对第一个字段进行排序,然后反向排序第三个,然后反向排序第二个(如果无关紧要,后者可以省略)。然后 awk 只打印第一个唯一的行,只考虑第一个字段。

关于linux - 如何订购具有特定条件的文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56888220/

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