创建一个awk脚本来读取另一个awk文件的输出并实现sum和mean值

时间:2014-05-14 15:05:30

标签: linux shell awk

我有一个awk脚本,我称之为random.awk,它生成的近似正态分布的随机数

#!/usr/bin/awk -f
#the sum of three uniform [-1,1] random variables is used to get the approximate normal distribution
#the first argument the number of random numbers to be generated, the default is 100
#the second argument is to get the mean value, the default is 0
#the third argument is to get the standard deviation, the default is 1

function prand(){ 
    return(((rand()*2)-1)+((rand()*2)-1)+((rand()*2)-1));
}

BEGIN{
    # establish default values
    countnumber=(length(ARGV[1])==0?100:ARGV[1]);
    meanvalue=(length(ARGV[2])==0?0.0:ARGV[2]);
    stdeviation=(length(ARGV[3])==0?1.0:ARGV[3]);

    for(i=0;i<count;i++){
    printf("%.16e\n",prand()*stdeviation+meanvalue)
    }
}

如何创建awk文件以使用random.awk的输出作为输入并实现天真求和和平均值计算?

1 个答案:

答案 0 :(得分:1)

创建一个类似于生成随机值的awk脚本,但实现均值和求和计算,并使用shell管道符号|将第一个脚本的输出传输到第二个脚本。如果您需要更多帮助,那么您需要在问题中提供更多信息。