Bash 使用AWK在大于x的第二列中查找最小的数字
我有一个有两列的文件Bash 使用AWK在大于x的第二列中查找最小的数字,bash,scripting,sed,awk,Bash,Scripting,Sed,Awk,我有一个有两列的文件 sdfsd 1.3 sdfds 3 sdfsdf 2.1 dsfsdf -1 如果x是2 我想打印sdfsdf 2.1 如何用awk表达它(bash或sed也可以)awk: BEGIN { min=0 mint="" threshold=2 } { if($2 > threshold && ($2 < min || min == 0)) { min = $2 mint = $1 } } END { pr
sdfsd 1.3
sdfds 3
sdfsdf 2.1
dsfsdf -1
如果x是2
我想打印sdfsdf 2.1
如何用awk表达它(bash或sed也可以)awk:
BEGIN {
min=0
mint=""
threshold=2
}
{
if($2 > threshold && ($2 < min || min == 0)) {
min = $2
mint = $1
}
}
END
{
print mint, min
}
开始{
最小值=0
mint=“”
阈值=2
}
{
如果($2>阈值&($2
这样做非常诱人:
sort -k 2 -g | awk '$2 >= 2 { print; exit }'
在您的示例上进行测试和工作。如果没有第二列至少为2,则不打印任何内容。如果阈值与最大值相同,则输出为零。它可能会输出一个错误。不要忘记将输入文件传递给排序