Linux三剑客实战-nginx日志分析

egrep '(404) | (500) ' nginx.log
bash
find_error_log() { cat nginx.log |grep '404'|'500'}```

‘’'bash

find_error_log(){

cat ~/ngnix.log | grep 404

cat ~/ngnix.log | grep 500

}

‘’’

find_error_log()
{
grep 'HTTP/1.1" 404' nginx.log
grep 'HTTP/1.1" 500' nginx.log
}


{
cat nginx.log |awk '{if($9==404 || $9==500) print $0}'
}
find_error_log ()
{
    awk '$9~/404|500/' nginx.log | wc -l
}
find_top_10() { awk '{print $1}' nginx.log| sort | uniq -c | sort -r | head -10 }
find_top_10(){
awk '{print $1}' | sort | uniq -c | sort | awk 'NR=1 {print $1}'
}
find_top_10(){
cat nginx.log | awk -F " " '{print $3}'|sort|uniq -c|sort -nrk 1|awk -F " " '{print $2}' |head -10

}

find_top10 ()
{
    awk '{print $1}' nginx.log | sort | uniq -c | sort -rn | head -10
}
1 个赞
find_top_10() { awk $1 ngnix.log | sort | unique -l | head -10 }
find_top_10()
{
cat xx.txt | awk '{print $1}'| sort |uniq -c|sort -rn|awk 'NR<=10 {print $1}'
}
awk '{print $1} ' nginx.log |sort|uniq -c| awk '{if(NR<=10){print $1}}' nginx.log

find_top_10(){
cat nginx.log | awk ‘{print $1}’ | sort | uniq - c | sort - rn | head - 10
}

find_top_10(){
awk '{print$1}' nginx.log | sort |uniq -c|awk '{print$1,$2}'|sort -rn |head -10
}
url_avg_time(){
grep '/topics' nginx.log | awk '{a+=$32}END{print a/NR}'
}

url_avg_time()
{
cat nginx.log |awk 'BEGIN{total=0;count=0} / \/topics / {count+=1;total+=$(NF-1);print total} END{print total/count}'
}
url_avg_time ()
{
    grep --color=auto " /topics " nginx.log | awk '{total+=$(NF-1)}END{print total/NR}'
    awk '/ \/topics /{count+=1;total+=$(NF-1);}END{print $(NF-1),total/count}' nginx.log
}



find_error_log(){
 awk '{if($9=="404") ++sum1;if($9=="500") ++sum2}END{print "404""\t"sum1"\n""500""\t"sum2"\n""error""\t"sum1+sum2}' nginx.log
}
```bash
 find_top_10(){
  awk '{print $1}' nginx.log | sort | uniq -c | sort -nr | head -10
}
```bash
find_before(){
grep -B 2 " 500 " nginx.log 
}

题1.思寒老师请问下, 若第一题我这种写法,正确?和您讲的awk 这种差别大吗?find_error_log
grep -nE ’ 404 | 500 ’ nginx.log | less
参考答案:awk ‘$9~/404|500/’ nginx.log
题2.find_top_10
cat nginx.log | awk ‘{print $1}’ | sort | uniq -c | sort -ur | head -10
参考答案:awk ‘{print $1}’ nginx.log |sort | uniq -c | sort -rn | head -10
题3.url_avg_time
没做出来…
参考答案:grep “/topics” nginx.log | awk ‘{total+=$(NF-1);print total/NR}’
grep “/topics” nginx.log | awk ‘{total+=$(NF-1)}END{print total/NR}’
awk ‘/ /topics/ {total+=$(NF-1)}END{print total/NR}’ nginx.log
第三题 还是不太明白