[PATCH] Ash support for replace and subsitution
James Simmons
jsimmons at infradead.org
Tue Mar 25 20:42:36 UTC 2008
> On Monday 24 March 2008 17:17, James Simmons wrote:
> >
> > diff -urwN busybox-1.10.0.orig/shell/ash.c busybox-1.10.0/shell/ash.c
> > --- busybox-1.10.0.orig/shell/ash.c 2008-03-24 11:58:50.000000000 -0400
> > +++ busybox-1.10.0/shell/ash.c 2008-03-24 12:28:26.000000000 -0400
> > @@ -476,6 +476,9 @@
> > #define VSTRIMLEFT 0x8 /* ${var#pattern} */
> > #define VSTRIMLEFTMAX 0x9 /* ${var##pattern} */
> > #define VSLENGTH 0xa /* ${#var} */
> > +#define VSSUBSTR 0xc /* ${var:position:length} */
> > +#define VSREPLACE 0xd /* ${var/pattern/replacement} */
> > +#define VSREPLACEALL 0xe /* ${var//pattern/replacement} */
>
> If it really works as advertised, it's very nice!
Great. You can test the below before and after the patch
#!/bin/bash
MYFOOD="chickensoup.tar.gz"
echo "Does myfood ${MYFOOD%%.*} equal chickensoup"
echo "Does myfood ${MYFOOD%.*} equal chickensoup.tar"
echo "Does myfood ${MYFOOD%%soup} equal chicken"
echo "Does myfood ${MYFOOD:0:5} equal chick"
echo "Does myfood ${MYFOOD:7:4} equal soup"
More information about the busybox
mailing list