linux - 获取日志文件中的信息

标签 linux awk grep

我有一个日志文件,下面是该文件中的示例日志。这里我只把第三列和第四列改成了SourceNo,Destination,以供引用。

3,16/04/17 11:32:16,Destination,Source,0,5192,16345,596444542977,16403,CrystalTech01,sup-mitto-003__0,2,3,,0,0,,0,0,107,0,0,0,2,,,,,,,,,,0,

我的要求 - 我需要单独获取,发送到目标的源明智总计数以 44 代码开头

我尝试了 grep 和 awk,但没有用。

感谢您的帮助。

记录文件 -

8,16/04/17 16:18:12,2609xxxxxx,Zanaco,0,5192,0,596xxxxxx,16403,CrystalTech01,,5,1,,0,0,,1,0,108,0,0,0,,3,0,0,0,0,0,2609641xxxxx,Zanaco,,,
8,16/04/17 16:18:12,2509xxxxxx,Zanaco,0,5192,0,5964509520xxxxx,16403,CrystalTech01,,5,1,,0,0,,1,0,111,0,0,0,,3,0,0,0,0,0,260979xxxxx,Zanaco,,,
5,16/04/17 16:18:12,2609xxxxxx,Zanaco,0,5192,16329,5964509xxxxx,16403,CrystalTech01,sup-messagebird-eur-003__0,5,1,,0,0,,,0,108,0,0,0,,3,0,260964xxxx,Zanaco,,,0.005,16403,1.0,16329,
5,16/04/17 16:18:03,47783xxxxx,BetBright,0,4482,6121,596450951xxxx,0,0,sup-clx-uk__0,2,3,,0,0,,0,0,0,0,0,0,3,,,,,,,,,,1,
3,16/04/17 16:18:03,44783xxxxxx,BetBright,0,4482,6121,59645095xxxxx,0,0,sup-clx-uk__0,2,3,,0,0,,0,0,0,0,0,0,3,,,,,,,,,,1,
3,16/04/17 16:18:04,447837xxxx,BetBright,0,4482,6121,59645095xxxxxx,0,0,sup-clx-uk__0,2,3,,0,0,,0,0,0,0,0,0,3,,,,,,,,,,1,
3,16/04/17 16:18:04,447584xxxxx,BetBright,0,4482,6121,5964509509xxxxx,16448,kelfast-001,sup-clx-uk__0,2,3,,0,0,,0,0,198,0,0,0,2,,,,,,,,,,0,

我需要的示例输出 -

Zanaco  6574   
BetBright 456

最佳答案

如果我正确地理解了您的意图,您希望对目标以 44 开头的记录进行来源计数。

我使用了一些虚拟数据。

你可以使用这个:

$ cat data 
3,16/04/17 11:32:16,441,8,0,5192,16345,596444542977,16403,CrystalTech01,sup-mitto-003__0,2,3,,0,0,,0,0,107,0,0,0,2,,,,,,,,,,0,
3,16/04/17 11:32:16,442,1,0,5192,16345,596444542977,16403,CrystalTech01,sup-mitto-003__0,2,3,,0,0,,0,0,107,0,0,0,2,,,,,,,,,,0,
3,16/04/17 11:32:16,443,1,0,5192,16345,596444542977,16403,CrystalTech01,sup-mitto-003__0,2,3,,0,0,,0,0,107,0,0,0,2,,,,,,,,,,0,
3,16/04/17 11:32:16,413,1,0,5192,16345,596444542977,16403,CrystalTech01,sup-mitto-003__0,2,3,,0,0,,0,0,107,0,0,0,2,,,,,,,,,,0,
$ awk -F , '$3 ~ /^44/ {a[$4]++;} END {for(i in a) print "Source: " i " has count " a[i]}' data
Source: 1 has count 2
Source: 8 has count 1
$

关于linux - 获取日志文件中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37183635/

相关文章:

linux - 使用 awk 对常见元素进行分组

shell - 在不包含字符串的文件中查找行并在其开头添加文本

linux - 在linux中设置环境变量

linux - 我可以在 shell 脚本中使用 hexdump 吗?

linux - HP-UX 中的 "find -mmin"相当于什么?

Linux awk 降序排序不起作用

awk - 直接从文本文件绘制函数

linux - 在 linux 中是否有显示特定命令选项的详细描述的技巧

regex - 使用grep regex匹配任意数量的数字

java - 从 java 程序运行我的 mongodb 命令