我们假设data文件中每行是一个数字,我们来使用awk语言和perl语言对这些数字做求和、求平均、求最大、求最小等计算。
【awk】
求和
cat data|awk '{sum+=$1} END {print "Sum = ", sum}'
求平均值
cat data|awk '{sum+=$1} END {print "Average = ", sum/NR}'
求最大值
cat data|awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'
求最小值(min的初始值设置一个超大数即可)
cat data | awk 'BEGIN {min = 1999999} {if ($1<min) min=$1 fi} END {print "Min=", min}'
【perl】
求和
cat data|perl -lane '{$sum+=$F[0]}END{print "Sum:".$sum}'
求平均值
cat data|perl -lane '{$sum+=$F[0]}END{print "Average=",$sum/$.}'
求最大值
perl -MList::Util=max -lane '{push @a,$F[0]}END{print max @a}' data
求最小值
perl -MList::Util=min -lane '{push @a,$F[0]}END{print min @a}' data