使用grep、awk統計查詢日誌

來源:互聯網
上載者:User

標籤:style   http   io   color   ar   os   使用   java   sp   

日誌樣本:
囧,日誌格式是我隨便定得(莫噴,在明珠時有專門的資料群組統計日誌,日誌都非常規範,在這完全亂套了),為了方便統計支付成功的總金額旁邊都空了個空格,這樣的話方便使用awk取出金額!
[INFO] 2014-11-05 15:30:31,067 [http-bio-8060-exec-24] [com.xxxx.service.impl.PayServiceImpl.updatePayOver:56]module:[PAY],orderid:[xxxxxxx],trade_no:[xxxxxxxx],total_fee:[2560.0],payMethod:[百度錢包][INFO] 2014-11-05 15:30:31,095 [http-bio-8060-exec-24] [com.xxxx.service.impl.PayServiceImpl.updatePayOver:60]module:[PAY],orderid:[xxxxxxx],trade_no:[xxxxxxxx],total_fee:[ 2560.0 ],payMethod:[百度錢包],code:[payok]
第一步:統計出支付成功的日誌
*”[]“屬於正則關鍵字故需要轉義
grep ‘code:\[payok\]‘ catalina.out
當然,為了效能我們可以查出支付成功的訂單時就將它寫入一個檔案,後面的查詢再依據這個來查詢!
grep ‘code:\[payok\]‘ catalina.out > ~/test.txt

第二部:取出金額,並計算金額

cat ~/test.txt | awk ‘{print $6}‘ | awk ‘{sum+=$1} END {print sum}‘

當然需要查詢支付成功的訂單的數目直接

wc -l ~/test.txt

下面對上面的查詢進行擴充:

1. 查詢當天的支付的訂單數目

cat ~/test.txt | grep -c `date "+%Y-%m-%d"`

同樣也是先篩選出支付成功的訂單,然後再塞選今天的數目

這裡先列出grep常用的命令列選項:
-c    只顯示有多少行匹配,而不具體顯示匹配的行。    -h    不顯示檔案名稱。    -i    在字串比較的時候忽略大小寫。    -l    只顯示包含匹配模板的行的檔案名稱清單。    -L    只顯示不包含匹配模板的行的檔案名稱清單。    -n    在每一行前面列印改行在檔案中的行數。    -v    反向檢索,只顯示不匹配的行。    -w    只顯示完整單詞的匹配。    -x    只顯示完整行的匹配。    -r/-R 如果檔案參數是目錄,該選項將遞迴搜尋該目錄下的所有子目錄和檔案。

2. 查詢當月支付成功的訂單

cat ~/test.txt | grep `date "+%Y-%m"`

date為日期函數``表示嵌套命令,也可以直接grep 2014-11,對於中文字元或者有空格的需要grep 後面的參數加上""引號(單引或者雙引貌似都行)

3. 統計10月和11月的訂單grep支援正則,很是強大
grep ‘2014-1[0-1]‘
剩下的不多說的,看官自己去擴充

下面來說說replace、find
1. 查詢多個 tomcat的 Context資訊(之前面試的時候有遇到過,確實很方便)
find ./ -name server.xml | xargs grep "<Context"

2. 統一更改設定檔中的支付回調網域名稱(前提:有100多個設定檔source_xxx.properties修改,實在受不了,查了這個命令,非常好用)

replace ‘xxx.xxx.cn‘ ‘xx.xxx.cn‘ -- source_*

希望大家補充,我也好去多學習一些,啊哈哈哈...

下面是按照每天統計出來的熱點圖,可看出其實7點左右支付的人最少最適合更新代碼!

使用grep、awk統計查詢日誌

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.