Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 计算一列的中值,输出该值并说“如果”;“好的”;或;“错误”;如果在可接受范围之内或之外_Linux_Awk - Fatal编程技术网

Linux 计算一列的中值,输出该值并说“如果”;“好的”;或;“错误”;如果在可接受范围之内或之外

Linux 计算一列的中值,输出该值并说“如果”;“好的”;或;“错误”;如果在可接受范围之内或之外,linux,awk,Linux,Awk,我想计算一个.txt文件中某一列的中值,输出该值,并判断输出值是否正确。我可以执行初始步骤并输出中值,但是它不能说输出值是否在可接受的范围内 我收到一条语法错误消息,其中包含以下代码: $ sort -nk9 filename | awk '{a[i++]=$9;} END {x=int((i+1)/2); y=((a[x-1] + a[x])/2); z=(a[x-1]); if ((y >= 0.5 && y <= 2) || (z >= 0.5 &

我想计算一个.txt文件中某一列的中值,输出该值,并判断输出值是否正确。我可以执行初始步骤并输出中值,但是它不能说输出值是否在可接受的范围内

我收到一条语法错误消息,其中包含以下代码:

$ sort -nk9 filename | awk '{a[i++]=$9;} END {x=int((i+1)/2); y=((a[x-1] + a[x])/2); z=(a[x-1]); if ((y >= 0.5 && y <= 2) || (z >= 0.5 && z <=2)); {if (x < (i+1)/2) print "Median OR =", y "ALL OK"; else print "Median OR =", z "ALL OK"}; else print "ERROR - OR outside range 0.5 - 2.0"}'

$sort-nk9 filename | awk'{a[i++]=$9;}END{x=int((i+1)/2);y=((a[x-1]+a[x])/2);z=(a[x-1]);if((y>=0.5&&y=0.5&&z)awk中的
if
else
结构有几个错误

使用一行文字,使其难以阅读和理解。这应该可以:

sort -nk9 t | awk '
    {a[i++]=$9;} 
END {
    x=int((i+1)/2)
    y=((a[x-1] + a[x])/2)
    z=(a[x-1])
    if ((y >= 0.5 && y <= 2) || (z >= 0.5 && z <=2))
        {if (x < (i+1)/2) print "Median OR =", y "ALL OK"
            else print "Median OR =", z "ALL OK"}
        else print "ERROR - OR outside range 0.5 - 2.0"}'
sort-nk9 t|awk'
{a[i++]=$9;}
结束{
x=int((i+1)/2)
y=((a[x-1]+a[x])/2)
z=(a[x-1])
如果((y>=0.5&&y=0.5&&z)