1. 程式人生 > >shell指令碼使用之awk按列求平均值(含最大,最小值)

shell指令碼使用之awk按列求平均值(含最大,最小值)

使用Linux命令的awk工具

delay_avg.sh指令碼內容如下所示:

#!/bin/sh
RESPONSEFILE=$1
if [ $# -ne 1 ]
then
        echo "usage: ./delay_avg.sh named.response.X "
else
 {
  cat $RESPONSEFILE |awk -F '|' '{print$6}'  >>1.txt  
  cat 1.txt   |awk '{sum+=$1}END{print "Average = ", sum/NR}'
  rm -rf 1.txt
}
fi

執行結果如下:

拓展一下:求最大值或者最小值

比如求最大值: cat data|awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'
求最小值(min的初始值設定一個超大數即可):awk 'BEGIN {min = 6553565} {if ($1<min) min=$1 fi} END {print "Min=", min}'