Why is float missing in awk on my RHEL 5.8?  Was it replaced by some other function?On Solaris:echo Foampile=123 | awk -F= '{ print float($2) <-> $1 }'returns123<->Foampileon RHEL 5.8awk: (FILENAME=- FNR=1) fatal: function `float' not defined
Missing float function in awk on RHEL 5.8
rhel;awk
Solaris /usr/bin/awk is a very old awk that doesn't support user functions. So in that awk, float(123) is the same as anything(123) or anything 123, that is the concatenation of the value of the float or anything variable (empty if not set) and 123. So, it's not an error, but it does nothing.Had you writtenecho Foampile=123 | awk -F '=' '{float=x; print float($2) <-> $1}'you'd have seenx123<->FoampileI don't think that there is any awk implementation that has a float function.What would you expect that function to do anyway?On the other hand, modern POSIX awks like Solaris /usr/xpg4/bin/awk or nawk or gawk do support user functions, so in those, unless you define the float or anything function, you'll see that error.echo Foampile=123 | awk -F '=' '{ print $2 <-> $1 }'would work exactly the same (and would work with modern awks).In modern awks, to disambiguate between a function call and the concatenation of a variable and something within brace, you need to add at least one extra space:$ echo x | awk '{print foo ($1)}'x$ echo x | awk 'function foo(x) {return y}; {print foo($1)}'y