gpt4 book ai didi

perl - 只需要在一个文件中匹配一个模式出现一次

转载 作者:行者123 更新时间:2023-11-29 09:09:43 25 4
gpt4 key购买 nike

我有多个具有某种模式的文件

ABCD  100
ABCD 200
EFGH 500
IJKL 50
EFGH 700
ABCD 800
IJKL 100

我只想匹配每个 (ABCD/EFGH/IJKL) 根据第 2 列中的最高数字排序一次

ABCD   800
EFGH 700
IJKL 100

我试过 cat *txt |排序-k 1 |??

提前致谢

我的错,因为没有明确。抱歉浪费您的时间。下面是详细的例子。该文件有多个列。我用 awk 得到了需要的东西并尝试了这个 cat *txt |awk '{print $3,$5}' |排序-gr |少。现在我根据数值对字符串进行了排序。现在如何获取第一个匹配项的 uniq 字符串。

<string>                <numeral>
abcde/efgh/ijkl/mnop -450.00
dfgh/adas/gfda/adasd -100.0
abcde/efgh/ijkl/mnop -100.00
lk/oiojl/ojojl -0.078
dfgh/adas/gfda/adasd 50.0
lk/oiojl/ojojl -0.150
O/p needed
abcde/efgh/ijkl/mnop -450.00
dfgh/adas/gfda/adasd -100.0
lk/oiojl/ojojl -0.150

最佳答案

您可以使用 sort 两次:一次对数字进行排序,第二次对字符串进行稳定排序(以便最大的数字保持在最前面) , 删除重复项以丢弃数字较小的重复字符串。

sort -k2,2nr file.txt | sort -k1,1 -u --stable

关于perl - 只需要在一个文件中匹配一个模式出现一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707534/

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