On 11/27/2015 01:28 PM, Jon LaBadie wrote:
On Fri, Nov 27, 2015 at 12:38:38PM -0700, jd1008 wrote:
>
> On 11/27/2015 12:14 PM, Jon LaBadie wrote:
>> On Fri, Nov 27, 2015 at 09:57:11AM -0700, jd1008 wrote:
>>> On 11/27/2015 03:29 AM, Andrew Haley wrote:
>>>> #!/bin/awk -f
>>>> {
>>>> lines[NR]=$NF " " $0
>>>> }
>>>>
>>>> END {
>>>> PROCINFO["sorted_in"]="@val_type_asc"
>>>> # for (i in lines) {
>> for (i = NR; i >= 1; i--) {
>>>> line = lines[i]
>>>> j=index(line, " ")
>>>> print substr(line, j+1)
>>>> }
>>>> }
>>> Hi Andrew,
>>> manpage for awk does not betray any info on making sort in reverse.
>>> What is the incantation in this script to make the sort in reverse?
> Sorry John. It did not sort in reverse :(
>
Whoops, sorry, I forgot PROCINFO doesn't sort the array,
it affects how the array is accessed.
Does this work? Choose which ever function suits your direction.
#!/bin/awk -f
{
lines[NR]=$NF " " $0
}
function cmp_str_index(i1, v1, i2, v2)
{
# string index comparison, ascending order
v1 = v1 ""
v2 = v2 ""
if (v1 < v2)
return -1
return (v1 != v2)
}
function rcmp_str_index(i1, v1, i2, v2)
{
# string index comparison, decending order
v1 = v1 ""
v2 = v2 ""
if (v2 < v1)
return -1
return (v2 != v1)
}
END {
PROCINFO["sorted_in"] = "rcmp_str_index"
for (i in lines) {
line = lines[i]
j=index(line, " ")
print substr(line, j+1)
}
}
jl
YEP!!!
That does it!!!
Thanx a lot!