使用awk提取最大值和最小值

Gre*_*een 4 unix shell awk

如何使用awk命令从下表中查找最大值和最小值.

20 90 60 30
55 75 80 85
10 15 99 95
55 95 70 20
9  35 85 75
Run Code Online (Sandbox Code Playgroud)

我想输出像max value=99min=9

Ken*_*ent 7

gnu awk:

awk '{for(x=1;x<=NF;x++)a[++y]=$x}END{c=asort(a);print "min:",a[1];print "max:",a[c]}'
Run Code Online (Sandbox Code Playgroud)

输出:

min: 9
max: 99
Run Code Online (Sandbox Code Playgroud)

没有 awk:

xargs -n1|sort -n|head or tail -1
Run Code Online (Sandbox Code Playgroud)

例如

分钟:

kent$  echo "20 90 60 30
55 75 80 85
10 15 99 95
55 95 70 20
9  35 85 75"|xargs -n1|sort -n|head -1
9
Run Code Online (Sandbox Code Playgroud)

最大:

kent$  echo "20 90 60 30
55 75 80 85
10 15 99 95
55 95 70 20
9  35 85 75"|xargs -n1|sort -n|tail -1
99
Run Code Online (Sandbox Code Playgroud)

你当然可以通过xargs -n1|sort -n管道输入awk来选择第一个和最后一个并一次打印.