shell awk转成数组

在编写shell时,需要将awk转换成合适的数组类型:

( `cat $file | awk '{print $1}'`)


awk:

awk BEGIN END

BEGIN后第一个接{}表示在标准输入未开始前执行的操作,可以做些内置设值操作

END后第一个接{}标识在标准输入结束后执行的操作

而独立的{},则表示在每一行标准数据读取时,可以执行的操作,可以用于保存整个数组

如:awk '{a[NR]=$1}' NR会随着每一行的读取,NR的值会递增,而这个操作便能将每行的第一列的数据都保存起来。


一个应用,统计最大最小值

awk '{a[NR]=$1} END{max=0;min=a[1];for(num in a){if(a[num]max){max=a[num]}};print "Min:"min,"Max:"max}'

你可能感兴趣的:(操作系统_linux,awk,array,shell)