linux awk命令使用实践

sh文件如下,求取最小值,平均值,最大值

#!/bin/bash
if [ -f /app/nginx/nginx-1.9.9/logs/prdaccess.log ]; then
awk '{if($7~"/api/")print}' prdaccess.log > one.txt

awk '($NF>0.2){print}' one.txt > two.txt

awk '{if($7~"/api/")split($7,a,"?");print a[1]FS$NF}' two.txt > three.txt

awk 'BEGIN {printf "%s,%5s,%4s\n","API","AVG","MAX"}{A[$1]++;SNF[$1]+=$NF;MAXNF[$1]=($NF>MAXNF[$1]?$NF:MAXNF[$1])}END{for (API in A) print API,SNF[API]/A[API],MAXNF[API]}' three.txt > last_api.txt
rm -f one.txt
rm -f two.txt
rm -f three.txt
else
echo "not have file"
fi
#end

posted @ 2019-08-29 11:05  windy1012  阅读(138)  评论(0编辑  收藏  举报