'tr' character class support?

Rosen Penev rosenp at gmail.com
Fri Jul 10 17:54:45 EDT 2020


On Fri, Jul 10, 2020 at 2:29 PM Jordan Geoghegan <jordan at geoghegan.ca> wrote:
>
>
>
> On 2020-07-10 14:15, Magnus Kroken wrote:
> > Hi Jordan
> >
> > On 10.07.2020 22:45, Jordan Geoghegan wrote:
> >> Hey folks,
> >>
> >> Does the 'tr' utility support character classes in OpenWRT? I was
> >> playing around with an OpenWRT x86_64 VM and I noticed that 'tr'
> >> doesn't seem to support character classes.
> >> The command " echo HELLO | tr '[:upper:]' '[:lower:]' "  does not
> >> convert to the text to lowercase as it should (and as required by
> >> POSIX).
> > This would be expected behavior. OpenWrt disables tr character classes
> > in BusyBox by default, see [1]:
> >
> > config BUSYBOX_DEFAULT_FEATURE_TR_CLASSES
> >         bool
> >         default n
> > config BUSYBOX_DEFAULT_FEATURE_TR_EQUIV
> >         bool
> >         default n
> >
> > I don't know what the size cost in the BusyBox binary is, but that
> > will likely be the deciding factor for such a change.
> >
> > 1:
> > https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=package/utils/busybox/Config-defaults.in
> >
> > Regards,
> > Magnus Kroken
>
> Hi Magnus,
>
> Thanks for confirming that so quickly.
>
> I obviously understand that space saving is essential to OpenWRT, but
> POSIX does require[1] that 'tr' support character classes:
awk '{print toupper($0)}' is an alternative.
>
> :class:
>               Represents all characters belonging to the defined character class, as defined by the current setting of the LC_CTYPE  locale  cate-
>               gory. The following character class names shall be accepted when specified in string1:
>
>                 alnum    blank   digit   lower   punct   upper
>                 alpha    cntrl   graph   print   space   xdigit
>
>
> 1: https://www.unix.com/man-page/posix/1posix/tr/
>
>
> Regards,
> Jordan
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list