使用awk自定义函数从文件打印最小整数?

时间:2016-01-08 15:12:23

标签: awk text-processing

awk函数在文件名fun.awk中看起来像这样:

{
print small()
}
function small()

{
a[NR]=$0

smal=0

for(i=1;i<=3;i++)
{
if( a[i]<a[i+1])

smal=a[i]

else

smal=a[i+1]

}
return smal
}

awk.write的内容:

1
23 
32

awk命令是:

awk -f fun.awk awk.write

它没有给我任何结果?为什么呢?

1 个答案:

答案 0 :(得分:2)

我认为你这是错误的做法。在awk中,一种方法可能是:

small

只是简单地将small设置为我们到目前为止在每一行上看到的最小整数,并在最后打印它。 (注意:您需要从第一行初始化sort开始。

更简单的方法可能只是将行排序为{{1}}的数字,然后选择第一个。