Én ezt értem, de itt szó sincs stringként való összehasonlításról. Nem értem, hogy kanyarodtunk ide.
Ez az eredeti probléma:
mawk Ubuntu 20.04:
$ awk 'BEGIN { x=12.3; if(x==12.3) printf("true\n"); else printf("false\n");}'
true
$ echo "12.3" | awk '{ if($1==12.3) printf("true\n"); else printf("false\n"); }'
false
mawk Ubuntu 18.04:
$ awk 'BEGIN { x=12.3; if(x==12.3) printf("true\n"); else printf("false\n");}'
true
$ echo "12.3" | awk '{ if($1==12.3) printf("true\n"); else printf("false\n"); }'
true
gawk Ubuntu 20.04:
$ awk 'BEGIN { x=12.3; if(x==12.3) printf("true\n"); else printf("false\n");}'
true
$ echo "12.3" | awk '{ if($1==12.3) printf("true\n"); else printf("false\n"); }'
true
Miért false a második? Illetve ha elfogadjuk, hogy false a második, akkor miért true az első?
Bugos a mawk vagy nem?