<div dir="ltr"><div><div>Good Morning Mike-<br><br></div>I believe this will do it with just awk:<br><br>awk 'NR == 1 || $1 < min {min = $0} END{print min}'<br><br></div>SDA<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 12, 2015 at 2:35 PM, Mike Miller <span dir="ltr"><<a href="mailto:mbmiller+l@gmail.com" target="_blank">mbmiller+l@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I liked this one because I've always wanted "max" and "min" programs. What I usually do is sort and use head or tail.  That is very inefficient. So based on your work I made this:<br>
<br>
awk 'BEGIN {max=$1} {if ($1>max) max=$1} END {print max}'<br>
<br>
It seems to do what I want for whole lines if I do this:<br>
<br>
awk 'BEGIN {max=$0} {if ($0>max) max=$0} END {print max}'<br>
<br>
It looks like these two lines give the same output for most files:<br>
<br>
awk 'BEGIN {max=$0} {if ($0>max) max=$0} END {print max}' filename<br>
sort filename | tail -n1<br>
<br>
Of course the awk code is much faster and I assume it uses much less memory, especially for larger input files.<br>
<br>
If input is a single column of numbers, awk will provide the numerical maximum number, but sort will not do that unless the -g option is used (sometimes -n would be enough, but not always).<br>
<br>
Any ideas about this?<br>
<br>
I'm having a problem getting min to work.  This gives me a blank line as output:<br>
<br>
echo -e "1\n2" | awk 'BEGIN {min=$1} {if ($1<min) min=$1} END {print min}'<br>
<br>
I'm obviously missing something!<span class="HOEnZb"><font color="#888888"><br>
<br>
Mike</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On Fri, 30 Oct 2015, Saul Alanis wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks Gerry.<br>
<br>
With your suggestion a solution was found:<br>
<br>
awk -F"|" 'BEGIN {max = 0} $2 ~ /foo/ {if ($1>max) max=$1} END{print max}'<br>
<br>
Sincerely,<br>
SDA<br>
<br>
<br>
On Fri, Oct 30, 2015 at 7:52 PM, gerry <<a href="mailto:gsker@skerbitz.org" target="_blank">gsker@skerbitz.org</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Saul,<br>
It sounds like you just want the max for the first field?<br>
  gawk '/foo/{if (max < $1) max=$1} END {print $1}' file<br>
<br>
But that doesn't seem likely since it's too simple - no offence intended.<br>
<br>
Did you want the 2nd field of the row with the max of the first field?<br>
  gawk '/foo/{if (max < $1) {max=$1;save3=$3} } END {print save3;}'<br>
<br>
I'm ignoring the vertical bars because your example had spaces which awk<br>
recognizes by default.<br>
If the spaces are not consistent then you might want to use -F.<br>
<br>
You can probably find a good example of what you want<br>
on <a href="http://commandlinefu.com" rel="noreferrer" target="_blank">http://commandlinefu.com</a><br>
<br>
--<br>
<a href="mailto:gsker@skerbitz.org" target="_blank">gsker@skerbitz.org</a><br>
<br>
<br>
On Fri, 30 Oct 2015, Saul Alanis wrote:<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I have a file with multiple fields;<br>
<br>
2 | foo | bar<br>
4 | bar | foo<br>
1 | bar | foo<br>
3 | foo | bar<br>
<br>
My goal is to sort the first field numerically and print the first field<br>
of the last result.<br>
<br>
awk -F"|" '/foo/ {print $1 | "sort"}'<br>
<br>
awk -F"|" '/foo/ {number=$1} END {print version}'<br>
<br>
Help is greatly appreciated :)<br>
<br>
SDA<br>
<br>
<br>
<br>
_______________________________________________<br>
</blockquote>
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota<br>
<a href="mailto:tclug-list@mn-linux.org" target="_blank">tclug-list@mn-linux.org</a><br>
<a href="http://mailman.mn-linux.org/mailman/listinfo/tclug-list" rel="noreferrer" target="_blank">http://mailman.mn-linux.org/mailman/listinfo/tclug-list</a><br>
<br>
</blockquote>
<br>
</blockquote>
_______________________________________________<br>
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota<br>
<a href="mailto:tclug-list@mn-linux.org" target="_blank">tclug-list@mn-linux.org</a><br>
<a href="http://mailman.mn-linux.org/mailman/listinfo/tclug-list" rel="noreferrer" target="_blank">http://mailman.mn-linux.org/mailman/listinfo/tclug-list</a><br>
</div></div></blockquote></div><br></div>