我有一个名为 test.txt
的文件,其中包含以下内容:
10
200
3000
=======
4
5
=======
我需要编写一个 awk 脚本来将此文件中的文本作为 awk 脚本的输入和输出:
10
200
3000
Average 1070.00
4
5
Average 4.50
我的脚本是这样写的:
{while($1!~"=======") s+=$1;}
{print "Average ", s}
每次运行此代码时,我都会使用:
awk -f awrp4 test.txt
但是它崩溃了。我不知道我做错了什么。我是初学者,正在尝试了解 awk 函数,所以如果这看起来很简单,我深表歉意。欢迎任何帮助。
最佳答案
使用 GNU awk,你可以写:
gawk '
BEGIN {FS = "\n"; RS = "\n=+\n"}
NF > 0 {
sum = 0
for (i=1; i<=NF; i++) {
print $i
sum += $i
}
printf "Average %.2f\n", sum/NF
}
' file
关于linux - 使用 awk 计算数字的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36143717/