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

需求

  • 统计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:42

361185092       0       Z5      114.96.217.77   2014-03-31 00:28:20

795358522       0       F1-0    171.92.57.240   2014-03-31 00:43:41

993922327       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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值