1贰拿、awk是什么?及awk基本用法熄云。
awk 是一種處理文本文件的語言膨更,是一個強大的文本分析工具。
awk 其實不僅僅是工具軟件缴允,還是一種編程語言荚守。
awk 是以文件的一行內(nèi)容為處理單位的。awk讀取一行內(nèi)容练般,然后根據(jù)指定條件判斷是否處理此行內(nèi)容矗漾,若此行文本符合條件,則按照動作處理文本薄料,否則跳過此行文本缩功,讀取下一行進行判斷。
2都办、Nginx統(tǒng)計基本命令解釋
{print $1}:以空格做為分隔符嫡锌,取第一個,在access.log中為IP
{print $4}:以空格做為分隔符琳钉,取第四個势木,在access.log中為時間
{print $7}:以空格做為分隔符,取第七個歌懒,在access.log中為訪問路徑
wc -l:統(tǒng)計個數(shù)
uniq -c: 可檢查文本文件中重復(fù)出現(xiàn)的行列啦桌。-c:表示在每列旁邊顯示該行重復(fù)出現(xiàn)的次數(shù)。
sort -n -k 1 -r:排序及皂。-n:表示以數(shù)值進行排序甫男。-k 1:表示以第一列做為排序。-r:表示倒序验烧。
head -n 100:表示前一百個板驳。
cut -c 14-21:表示截取14到21列。
1.根據(jù)訪問IP統(tǒng)計UV
awk '{print $1}' access.log|sort | uniq -c |wc -l
2.根據(jù)訪問URL統(tǒng)計PV
awk '{print $7}' access.log|wc -l
3.查詢訪問最頻繁的URL
awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more
4.查詢訪問最頻繁的IP
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more
5碍拆、查詢每秒請求
awk '{print $4}' access.log |cut -c 14-21|sort|uniq -c|sort -nr|head -n 100
6若治、查詢某個URL每秒請求
awk '{if($7~"/file/bd/voice/upload/") print $4}' access.log|cut -c 14-21|sort|uniq -c|sort -nr|head -n 100
7、查詢某個時間段內(nèi)
sed -n '/2020:10:10/,/2020:10:21/p' access.log | 語句
#例如:查詢某個十點十分到十點二十一分每秒請求
sed -n '/2020:10:10/,/2020:10:21/p' access.log | awk '{print $4}' |cut -c 14-21|sort|uniq -c|sort -nr|head -n 100
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者