[1.19.2] wildcard in regex not working in (e)grep, awk, sed when linked with uClibc 0.9.29.

Tomasz Czapiewski xeros at irc.pl
Wed Sep 28 05:25:15 UTC 2011


On Tue, 27 Sep 2011, Tomasz Czapiewski wrote:

> Hi,
> I've noticed that wildcard is not working in busybox applets when I link 
> busybox 1.19.2 with uClibc 0.9.29 libs.
>
> For example those are working fine when the same busybox code (and exactly 
> the same config) is linked with glibc:
> egrep '<xml>.*</xml>' file.xml
> awk '/<xml>.*<\/xml>' file.xml
> sed -n '/<xml>.*<\/xml>/p' file.xml
>
> But the same commands do not return result on busybox linked with uClibc.
> (file.xml contains <xml><...><...></xml> pattern in one line)
>
> I have tried to use "" instead of '' and tried if '.' (dot) matches and it's 
> ok, just wildcards are not working.
> I have tried to pipe string from stdin also with: cat file.xml | ...
> and the result was the same.
>
> Then I have tried busybox 1.18.4 and 1.2.1 - everywhere the result was the 
> same.
>
> Besides wildcards everything else is works fine.
>

The problem is with line lenght - file has almost 190KB in one line.
When I cut the lines for ~3KB in each line regex search works fine on 
uClibc linked busybox.

Btw. has someone any idea how to improve performance of such search?
Script with three such 'egrep' commands to match 4-5 tags in xml in 
each command for ~400KB file executes in around 0,01-0,02s in PC while on 
embedded device it's almost 1s for <190KB file.
I just need to test if all the tags that I search for are in that xml 
file.

Regards,
Tomasz Czapiewski


More information about the busybox mailing list