使用linux命令统计log4j业务日志信息

来源:互联网 发布:linux引导windows 编辑:程序博客网 时间:2024/06/05 17:41

需求

  • 统计log4j业务日志中排重后的userid

文件存储格式

  • 目录格式

    /home/logs/198-1/2014-03-31/dataLog.log.2014-03-31

    其中后面三部分是可变的

  • 文件中内容格式

 

779286836       0       F1-0    120.202.47.36   2014-03-31 00:23:42361185092       0       Z5      114.96.217.77   2014-03-31 00:28:20795358522       0       F1-0    171.92.57.240   2014-03-31 00:43:41993922327       0       F1-0    123.79.161.109  2014-03-31 00:43:52

linux命令

cat /home/logs/*/2014*/dataLog.log.* | awk '$1~/^([0-9])+$/{print $1}' |sort|uniq  > userids.txt#/home/logs/*/2014*/dataLog.log.* 找到所有目录下的日志文件#$1~/^([0-9])+  过滤第一个域只有数字才显示出来#{print $1} 统计userid只print $1即可#sort|uniq 两个命令结合进行排重,由于uniq排重认为相临的两行是重复的,而对于间隔的不认为是重复的,所以结合sort便可实现真正的排重#> userids.txt 最后将内容输出到userids.txt中

Resources:

8 Linux Commands Every Developer Should Know

How To Use the AWK language to Manipulate Text in Linux

Common threads: Awk by example, Part 1

0 0
原创粉丝点击