最近学习的linux命令grep,awk,cut,uniq,wc实际应用例子
统计出每天使用命令的玩家数量
www.zhishiwu.com
gzip -c -d nohup.out.`date +%Y%m%d`*.gz |grep /web/api/logic/logicDispatcher|awk '{FS="&";print $2;}'|awk '{FS="=";print $2;}'|cut -d ' ' -f3 | cut -d '/' -f2 | sort | uniq|wc -l
解析:
gzip -c -d nohup.out.`date +%Y%m%d`*.gz 解压zip文件,但是保留zip文件,输出到控制台
grep /web/api/logic/logicDispatcher 查找带有关键字的行
awk '{FS="&";print $2;}' 以根据格式 &分离出帐号
awk '{FS="=";print $2;}' 以根据格式 =分离出帐号
'|cut -d ' ' -f3 | cut -d '/' -f2 | sort | 分别取出帐号前2,3个字符排序
uniq|wc -l 取出唯一的,然后统计数量
查询FA和FB使用数量
gzip -c -d nohup.out.`date +%Y%m%d`*.gz|grep cmd=fa|wc -l
gzip -c -d nohup.out.`date +%Y%m%d`*.gz|grep cmd=fb|wc -l
查询FB消耗的游戏币量
grep ___23___ logs/logclient.log_201211*|awk '{FS="_";all+=$12-$15;print $5,$12,$15,$12-$15,all;}'
查询掉落物品总量和种类
grep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep consume.refreshtavern.1|wc -l
grep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep hero.reset.1|wc -l
grep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep consume.1.a|wc -l
grep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep player.box.gambling.3|wc -l
grep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep player.queue.building|wc -l
grep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep equipment.tech.upgrade.book1|wc -l
grep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep enhanced.star.1|wc -l
grep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep enhanced.star.2|wc -l