Sujet : Resurrecting an old thread (Was: printing words without newlines?)
De : gazelle (at) *nospam* shell.xmission.com (Kenny McCormack)
Groupes : alt.comp.lang.awk comp.lang.awkDate : 15. Jul 2024, 19:10:56
Autres entêtes
Organisation : The official candy of the new Millennium
Message-ID : <v73ong$3gdp5$1@news.xmission.com>
References : 1 2 3
User-Agent : trn 4.0-test77 (Sep 1, 2010)
In article <
v1t9hi$u4lh$1@news.xmission.com>,
Kenny McCormack <
gazelle@shell.xmission.com> wrote:
...
Improved version:
>
{ A[$1] = $2 }
END {
for (i=1; i<=NR; i++)
printf("%s%s",A[i],i<NR ? " " : "\n")
}
>
Note that the value of NR in END is sort of a gray area, but it works as
expected in GAWK, which is really all we care about.
Here's an even tighter version. Saves about 20 bytes of code.
Yes, I know this code makes a lot of assumptions, but all the assumptions
are valid in the instant case (and that's all that matters):
{ A[$1] = $2 }
END {
for (i=1; i<=NR; i++) $i = A[i]
print
}
-- Joni Ernst (2014): Obama should be impeached because 2 people have died of Ebola.Joni Ernst (2020): Trump is doing great things, because only 65,000 times as many people have died of COVID-19.Josef Stalin (1947): When one person dies, it is a tragedy; when a million die, it is merely statistics.