linux – 如何使用以下要求对列进行排序
发布时间:2020-12-14 00:32:35 所属栏目:Linux 来源:网络整理
导读:我有3列 a 03 wa 10 xa 01 yb 20 wb 01 xc 02 wc 10 yc 12 z 预期的产出是 a 10 xb 20 wc 12 z 即我需要对第2列进行排序,但不改变第1列的顺序 然后基于第二列grep列表中最大值的行 解决方法 两种方法(选择一种你喜欢的方式): 1)排序uniq“技巧”: sort -k1
我有3列
a 03 w a 10 x a 01 y b 20 w b 01 x c 02 w c 10 y c 12 z 预期的产出是 a 10 x b 20 w c 12 z 即我需要对第2列进行排序,但不改变第1列的顺序 解决方法
两种方法(选择一种你喜欢的方式):
1)排序uniq“技巧”: sort -k1,1 -k2,2rn file | uniq -w1 > -k1,1 – 按第1阶段的第1个字段排序 输出: a 10 x b 20 w c 12 z 2)只需使用GNU datamash工具: datamash -Wsf -g1 max 2 <file | cut -f1-3 输出: a 10 x b 20 w c 12 z (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |