gpt4 book ai didi

perl - 对 grep 命令的结果进行分组

转载 作者:行者123 更新时间:2023-12-02 05:40:14 27 4
gpt4 key购买 nike

我一直在使用 grep -f 从一个文件中获取模式并从另一个文件中提取行。结果如下:

1   11294199    11294322    40  10  123 0.0813008
1 11294199 11294322 41 6 123 0.0487805
1 11294199 11294322 42 10 123 0.0813008
1 11294199 11294322 43 2 123 0.0162602
1 11293454 11293544 51 1 90 0.0111111
1 11293454 11293544 52 2 90 0.0222222
1 11291356 11291491 54 6 135 0.0444444
1 11291356 11291491 55 8 135 0.0592593
1 11291356 11291491 56 3 135 0.0222222

现在我需要根据前三列对结果进行分组,并计算每组第 4 列的总和:

1   11294199    11294322  (40+41+42+43)
1 11293454 11293544 (51+52)
1 11291356 11291491 (54+55+56)

我怎样才能得到这样的结果? grep 中的任何选项可以实现这一目标?谢谢

最佳答案

你需要 awk 来做你想做的事。试试这个:

awk '{ array[$1 "\t" $2 "\t" $3] += $4 } END { for (i in array) print i "\t" array[i] }' file.txt

结果:

1   11294199    11294322    166
1 11291356 11291491 165
1 11293454 11293544 103

HTH

关于perl - 对 grep 命令的结果进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086448/

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