在编写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]<min){min=a[num]};if(a[num]>max){max=a[num]}};print "Min:"min,"Max:"max}'