a-awk 计算数值最大,最小,平均值并保留指定位数
生活随笔
收集整理的這篇文章主要介紹了
a-awk 计算数值最大,最小,平均值并保留指定位数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- awk 計算最大值
echo -e "1\n2\n3\n10\n9\n5\n11\n"|awk 'BEGIN {max = 0} {if ($1>max) max=$1 } END {print "Max=", max}'
輸出為:Max= 11
或者可以使用sort命令更為便捷:
cho -e "1\n2\n3\n10\n9\n5\n11\n"|sort -n |tail -n 1sort會升序排序,則最后一個會為最大值,直接tail -n 1即可 - awk 計算最小值
echo -e "1\n2\n3\n10\n9\n5\n11"|awk 'BEGIN {min = 0} {if ($1<min) min=$1 } END {print "Min=", min}'
輸出為:min= 1
這里注意awk中的比較同樣會比較ascsii碼,即如果待計算數值中包括字母,awk會按照字母的ascsii碼進行比較
同樣可以用sort命令進行比較:
echo -e "1\n2\n3\n10\n9\n5\n11"|sort -n |head -n 1獲取排序后的第一個內容即為最小的 - awk計算平均值
echo -e "1\n2\n3\n10\n9\n5\n11"|awk '{a+=$1}END{if(NR!=0) printf("avrage=%.3f",a/NR)}'
輸出為:avrage=5.857
這里可以利用awk的C語言語法,進行格式化輸出;同時要注意這里做除法時記得判斷除數不能為0,否則會報如下錯誤:awk: division by zeroinput record number 1, file source line number 1
總結
以上是生活随笔為你收集整理的a-awk 计算数值最大,最小,平均值并保留指定位数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 系统调用 read,writ
- 下一篇: linux进程间通信:命名管道FIFO