gpt4 book ai didi

bash - 使用bash脚本提取某些类型名称和对应的数字

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

A: XXX (Done after 2 rounds)
A: YYY (Done after 1 rounds)
A: ZZZZ (Done after 4 rounds)
A: XXX (Done after 2 rounds)
A: ZZZZ (Done after 1 rounds)
A: YYY (Done after 2 rounds)
A: YYY (Done after 1 rounds)

对于上述文件,我想提取某些名称,例如XXX、YYY、ZZZZ 以及每个名字的轮数。

最后,我期望的结果是这样的:

XXX 2 2
YYY 1 2 1
ZZZZ 4 1

我觉得我应该使用 sed 或 awk,但不确定如何使用它们。有没有人有好的解决方案?多谢。

最佳答案

awk '{ names[$2] = names[$2] " " $5; } END { for (name in names) print name " " names[name] }' file

解释:

每个输入行都被传递给命令 names[$2] = names[$2] ""$5,它创建一个名为 names 的数组,其索引不是数字- - 它们是在您的输入行中显示为第二个字段的词:XXXYYYZZZZ。它们的值在每行的第5个字段中累加相应的数字。

当输入文件耗尽时,END 遍历索引名称,打印每个名称后跟其累积数字的字符串。

关于bash - 使用bash脚本提取某些类型名称和对应的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385513/

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