Awk 我的第一个脚本中出现语法错误。(最小值,最大值)

Awk 我的第一个脚本中出现语法错误。(最小值,最大值),awk,syntax-error,max,min,Awk,Syntax Error,Max,Min,我想找到我的数据的最小值和最大值。 我的数据文件: 1 2 4 5 -3 -13 112 -3 55 42 42 还有我的剧本: {min=max=$1} {if ($1<min) {min=$1} else {next} } {if ($1>max) {max=$1} else {next} } END { print min , max } {min=max=$1} {if($1max){max=$1}else{next} 结束{打印最小值,最大值}

我想找到我的数据的最小值和最大值。 我的数据文件:

1
2
4
5
-3
-13
112
-3
55
42
42
还有我的剧本:

{min=max=$1}    
{if ($1<min) {min=$1} else {next} }   
{if ($1>max) {max=$1} else {next} }    
END { print min , max } 
{min=max=$1}
{if($1max){max=$1}else{next}
结束{打印最小值,最大值}
当我运行它时,它什么也不做。 你能帮我吗?

这应该可以:

awk '{for (i=1;i<=NF;i++) {if ($i<min) {min=$i};if ($i>max) {max=$i}}} END {print "min="min,"max="max}' file
min=-13 max=112

awk'{for(i=1;i您的问题是,您应该只在第一行执行
{min=max=$1}
。此外,下一行的
使用错误。您只需比较
min
,然后比较下一行,因此可能会错误地跳过
max
部分

试试这个:

awk 'NR==1{min=max=$1}
    {min=$0<min?$0:min;max=$0>max?$0:max}
    END{printf "min:%s\nmax:%s\n",min,max}' file

您应该将输入示例放在代码块中,这样就不会丢失任何格式。
min:-13
max:112