Reputation: 44598
I have a file with two columns,
sdfsd 1.3
sdfds 3
sdfsdf 2.1
dsfsdf -1
if x is 2
I want to print sdfsdf 2.1
How to express it in awk (bash or sed is fine too)
Upvotes: 3
Views: 1951
Reputation: 202615
It's awfully tempting to do this:
sort -k 2 -g | awk '$2 >= 2 { print; exit }'
Tested and works on your example. If no second column is at least 2, it prints nothing.
Upvotes: 3
Reputation: 6178
awk:
BEGIN {
min=0
mint=""
threshold=2
}
{
if($2 > threshold && ($2 < min || min == 0)) {
min = $2
mint = $1
}
}
END
{
print mint, min
}
Upvotes: 1