One True AWK bug?

Liste des GroupesRevenir à cl awk 
Sujet : One True AWK bug?
De : jeojet (at) *nospam* invalid.invalid
Groupes : comp.lang.awk
Date : 09. May 2024, 17:43:03
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v1iuen$otom$1@dont-email.me>
Is this a bug in original-awk, aka "The One True Awk" ?

I noticed in this one-liner if the conditional in the print statement
below lacks parentheses it produces and "illegal statement" error:

--
$ printf 'foo\n\nbar\n' |nawk '{print $0 != "" ? $0 : "[blank]"}'
nawk: syntax error at source line 1
 context is
{print $0 >>>  != <<<
nawk: illegal statement at source line 1
nawk: illegal statement at source line 1
--

Adding parentheses OR rewriting as a match fixes things:

--
$ printf 'foo\n\nbar\n' |nawk '{print $0 !~ /^$/ ? $0 : "[blank]"}'
foo
[blank]
bar

$ printf 'foo\n\nbar\n' |nawk '{print ($0 != "") ? $0 : "[blank]"}'
foo
[blank]
bar
--

Both mawk and gawk don't seem to care about lack of parentheses:

--
$ printf 'foo\n\nbar\n' |mawk '{print $0 != "" ? $0 : "[blank]"}'
foo
[blank]
bar

$ printf 'foo\n\nbar\n' |gawk '{print $0 != "" ? $0 : "[blank]"}'
foo
[blank]
bar
--

Note 'nawk' here is NOT gawk, it's a more recent version of original-awk:

$ nawk --version    # from https://github.com/onetrueawk/awk
awk version 20240122

$ original-awk --version  # version Debian apt currently has
awk version 20220912

Date Sujet#  Auteur
9 May 24 o One True AWK bug?1jeojet

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal