、、、nginx
cat access_log20181130.log |grep getLifeInfo|awk '{print $7, " ",$0}' | sort -nr | head -10spring
cat access_log20181130.log |grep getLifeInfo| wc -l排序
查詢狀態>200 grep "/test/testUrl" /wls/nginx-1.14.0/logs/host.access.log |awk '$10>200{print $10 " " $0}' |head接口
cat access_log20181224.log|grep '/test/testUrl' |awk 'BEGIN{maxv=-1;minv=444}{if($3>maxv)maxv=$3;if($3<minv)minv=$3;count++;sum+=$3} END {print minv,maxv,"avg is ", sum/count}'get
cat access_log20181224.log|grep '/test/testUrl' |awk '{count++;sum+=$3} END {print "avg is ", sum/count}'test
過濾重複列 cat spring.log |grep 'params:mobilePhone=' |awk '$2>="11:10" && $2<="12:40" {print $0 }' | head -10 |awk '{print $11}'|awk -F ',' '{print $3}' |sort -uawk
過濾重複列而且統計次數 cat */spring.log |grep 'params:mobilePhone=' |awk '$2>="11:10" && $2<="12:40" {print $0 }' |awk '{print $11}'|awk -F ',' '{print $3"|1"}' |awk -F"|" '{a[$1]+=$2;b[$1]++}END{for(n in a)print a[n] " " n}'|sortmobile
cat */access_log.20170911.acc|grep 'HTTP/1.0 200'|awk -F 'HTTP/1.0 200' '{print $1}'|awk -F ' ' '{if($5>0.5) print $9"|"$5}'|awk -F"|" '{a[$1]+=$2;b[$1]++}END{for(n in a)print a[n]/b[n]"s"" "n"\t"" "b[n]"次數"}'|sortsed
查詢某個時間段以內的信息 cat access_log20190513.log | grep "13/May/2019" | sed -n '/10:55:44/,/10:57:23/p' > a.txt請求
統計每一個接口的請求次數 去重,uniq -c 只會合併相鄰的記錄,因此在使用它以前,應該先進行排序 cat a.txt |awk '{print $7}' |sort |uniq -c
再排序,獲得 (次數 內容)的文件, sort -k 1 -n -r 指定對第一行進行排序,-n 數字排序,以降序排列 cat a.txt |awk '{print $7}' |sort |uniq -c |sort -k 1 -n -r
一.uniq 命令用來過濾重複部分顯示文件內容,這個命令讀取輸入文件,並比較相鄰的行 參數: -c 顯示輸出中,在每行行首加上本行在文件中出現的次數 -d 只顯示重複行 -u 只顯示文件中不重複的各行 -n 前n個字段與每一個字段前的空白一塊兒被忽略 +n 前n個字符被忽略,以前的字符被跳過(字符從0開始編號) -f n與-n相同,這裏n是字段數 -s n與+n相同,這裏n是字符數 經常使用: uniq -c 首行顯示文件中出現的次數
二.sort 排序 參數: -u 在輸出行中去除重複行 -r 默認的排序方式爲升序,-r轉換爲降序排列 -n 默認按照字符來排序出現10在2前面,-n以數值來排序 -t 後面設定間隔符 -k 指定列數 如:sort -n -k 2 -t : test.txt 以數值排序,按照第二列以「:」間隔來排列順序
、、、