[BusyBox] awk bug

Dmitry Zakharov dmit at crp.bank.gov.ua
Tue May 11 09:44:01 UTC 2004


Hello,

>>echo baudrate=9600 | awk -F= '{ print $2; }'
>>
>>This line should print "9600" (and does on RedHat) but on busybox (latest
>>cvs, post pre10) it always prints "baudrate", no matter which token I ask
>>it to print -- $1, $2, $3 or $4. The -F does not seem to play a difference.
>>If the input is space separated, and -F is not given, the same output.
>>
>>    
>>

I suppose it's something related to architecture, maybe the problem with 
int<->float conversions.
Could you tell more about your environment?

>I have also peeked at the awk implementation and thrown up my hands for the 
>moment.  A to-do item of mine after the 1.0 release is to rip apart and 
>rewrite awk the way I ripped apart and rewrote sed.  I don't _want_ to do 
>this, but nobody else seems interested and the awk we've got fails to work in 
>a number of ways if you try to use it in a development environment.  (The 
>./configure step uses awk pretty heavily in a lot of gnu packages...)
>
>  
>
I think the better way is to try fixing the bugs in existing awk (the 
awk language is much much much more complex
than sed :))  On my Red Hat system I did replace the gnu awk with 
busybox awk, all worked fine excepting the printf
with complex format modifiers. What _concretely_ scripts fail?


--
Dmitry





More information about the busybox mailing list