awk - 找到给定行中的最小值

时间:2015-12-15 18:47:45

标签: bash unix awk

我有一个按行和列组织的文件。我想找到最低的
在给定的行中,例如行号4,然后在bash变量(lev)中传输相应的列号。

但是我编写的小代码无效

    lev=`echo - |awk '{
    m=100; l=1;
    {If (NR==4)
    for(i=2;i<=NF;i++)
    {
        if( $i <m)
        m=$i;
        l=i
    } 
    }
    print l 

    }' file.txt`

1 个答案:

答案 0 :(得分:2)

您的脚本有多处问题。也许你可以弄清楚使用这个样本。

$ lev=$(awk 'NR==4{min=99999; 
             for(i=1;i<=NF;i++) 
                  if($i < min) {min=$i; ix=i} 
             print ix}' file.txt)