Sujet : Re: printing words without newlines?
De : gazelle (at) *nospam* shell.xmission.com (Kenny McCormack)
Groupes : alt.comp.lang.awk comp.lang.awkDate : 13. May 2024, 18:26:56
Autres entêtes
Organisation : The official candy of the new Millennium
Message-ID : <v1tih0$u8kt$1@news.xmission.com>
References : 1 2
User-Agent : trn 4.0-test77 (Sep 1, 2010)
In article <
20240513100418.652@kylheku.com>,
Kaz Kylheku <
643-408-1753@kylheku.com> wrote:
...
(This version more complicated than it needs to be, but essentially the
same as what I posted earlier)
$ awk '{
if ($1 > max) max = $1;
rank[$1] = $2
}
>
END {
for (i = 1; i <= max; i++)
if (i in rank) {
printf("%s%s", sep, rank[i]);
sep = " "
}
print ""
}' data.txt
all your base are belong to us
>
We do not perform any sort, and so we don't require GNU extensions. Sorting is
But GNU extensions are good - especially since OP specifically mentioned
using GAWK. And much more on-topic than Lisp (et al).
Final note: In fact, it has been established (on this newsgroup as well as
empirically by me and others) that if the indices are small integers, you
get sorting for free (in GAWK, which, as noted, is all we care about). So,
you don't even really need to mess with PROCINFO[]...
And, one more note about sorting. Some responders on this thread have
gotten confused about what is to be sorted. They assumed that OP wanted
the words sorted (alphabetically), when, in fact, he just wants them sorted
(numerically) by the position number (the first field in the data line).
-- The randomly chosen signature file that would have appeared here is more than 4lines long. As such, it violates one or more Usenet RFCs. In order to remainin compliance with said RFCs, the actual sig can be found at the following URL: http://user.xmission.com/~gazelle/Sigs/Mandela