最近學習的linux命令grep,awk,cut,uniq,wc實際應用例子 統計出每天使用命令的玩家數量 www.2cto.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 -lgzip -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 -lgrep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep hero.reset.1|wc -lgrep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep consume.1.a|wc -lgrep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep player.box.gambling.3|wc -lgrep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep player.queue.building|wc -lgrep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep equipment.tech.upgrade.book1|wc -lgrep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep enhanced.star.1|wc -lgrep logGiftItemBymobile logs/logclient.log_`date +%Y%m%d`.log|grep enhanced.star.2|wc -l