'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