#!/usr/bin/env sh perl -Mstrict -MList::Util=max -MRegexp::Common -Mv5.10 -wne ' our ($f_max, $f_max_line); defined( my $l_max = max /$RE{num}{real}/g ) or next LINE; ($f_max, $f_max_line) = ($l_max, $_) if not defined $f_max or $l_max > $f_max; END { print $f_max_line // "No line with number found.\n" } ' #### #!/usr/bin/env sh perl -Mstrict -MList::Util=max -MRegexp::Common -Mv5.10 \ -wne 'print max(/$RE{num}{real}/g) // "NaN", " : ", $_' | sort -k1nr | head -1 | sed 's/^NaN :.*$/No line with number found./;s/^[0-9-]* : //'