test.txt文件內容:
9
11
35
21
42
118
求最大值:
awk 'BEGIN {max = 0} {if ($1+0 > max+0) max=$1} END {print "Max=", max}' test.txt
Max= 118
求最小值:
awk 'BEGIN {min = 65536} {if ($1+0 < min+0) min=$1} END {print "Min=", min}' test.txt
Min= 9
求和:
cat test.txt|awk '{sum+=$1} END {print "Sum= ", sum}'
Sum= ?236
求平均值:
cat test.txt|awk '{sum+=$1} END {print "Avg= ", sum/NR}'
Avg= ?39.3333
求最大值(錯誤的求法):
cat test.txt|awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'
Max= 9
求最小值(錯誤的求法):
cat test.txt|awk 'BEGIN{min = 65536}{if ($1
Min= 11
求最大值(正確的求法):
cat test.txt|awk 'BEGIN {max = 0} {if ($1+0>max+0) max=$1 fi} END {print "Max=", max}'
Max= 118
求最小值(正確的求法):
cat test.txt|awk 'BEGIN{min = 65536}{if ($1+0
Min= 9
awk默認按照字符串比較的,如果要比較數值,需要先強制類型轉換,即 $1+0,轉換成整數。