gpt4 book ai didi

linux - Shell 脚本计数字符串出现次数

转载 作者:太空狗 更新时间:2023-10-29 12:18:49 28 4
gpt4 key购买 nike

我正在做一个项目,需要帮助来弄清楚如何完成任务。我将获得一个日志文件,我需要解析并计算某事在某一分钟内发生的次数。

例如,如果我有一个 txt 文件:

Line 3: 0606 221241  successfully copied to **
Line 5: 0606 221242 successfully copied to **
Line 7: 0606 221242 successfully copied to **
Line 9: 0606 221342 successfully copied to **

我想知道在 2212 复制了多少次到目前为止,我有以下代码仅分隔已成功复制的行并将日期分开...

grep "successfully copied to" Text.log >> Success.txt
awk '{print ($1, $2)}' Success.txt > datesAndTimes.txt

这给了我

0606 221241
0606 221242
0606 221242
0606 221243

出于某种原因,我无法弄清楚如何计算每个特定时间(例如 0606 2212)发生的次数。发生。我只需要分钟,不需要秒(第二列的最后两位数)最终我想要一个日志/txt 文件,上面写着:

0606 2212 3
0606 2213 1

等等....

如果有人有任何想法,我有点脑残。提前致谢!

最佳答案

你可以在 awk 中得到这个:

awk '{mm=substr($4, 1, 4); cnt[$3 " " mm]++} END{for(a in cnt) print a " " cnt[a]}' Text.log

现场演示:http://ideone.com/w2h64d

关于linux - Shell 脚本计数字符串出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16990580/

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