我有兩列的文件,使用AWK找到在第二列中的最小數大於X
sdfsd 1.3
sdfds 3
sdfsdf 2.1
dsfsdf -1
如果x 2
我想打印sdfsdf 2.1
如何來表達它AWK(bash或戰略經濟對話也沒關係)
我有兩列的文件,使用AWK找到在第二列中的最小數大於X
sdfsd 1.3
sdfds 3
sdfsdf 2.1
dsfsdf -1
如果x 2
我想打印sdfsdf 2.1
如何來表達它AWK(bash或戰略經濟對話也沒關係)
AWK:
BEGIN {
min=0
mint=""
threshold=2
}
{
if($2 > threshold && ($2 < min || min == 0)) {
min = $2
mint = $1
}
}
END
{
print mint, min
}
這是非常誘人的做到這一點:
sort -k 2 -g | awk '$2 >= 2 { print; exit }'
測試和工程上的例子。如果第二列至少爲2,則不打印任何內容。
不要忘記傳遞輸入文件進行排序 – 2011-06-01 09:05:28
如果閾值與最大值相同,則輸出爲零。它應該可能會輸出一個錯誤。 – 2010-06-04 20:56:25