In other locales, the sorting sequence is not specified, and
‘[a-d]’ might be equivalent to ‘[abcd]’ or to
‘[aBbCcDd]’, or it might fail to match any character, or the set of
characters that it matches might even be erratic.
To obtain the traditional interpretation
of bracket expressions, you can use the ‘C’ locale by setting the
LC_ALL environment variable to the value ‘C’.
# TODO: is there any real-world system/locale where 'A' # is replaced by '-' ? $ echo A | sed 's/[a-z]/-/' A
Their interpretation depends on the LC_CTYPE locale;
for example, ‘[[:alnum:]]’ means the character class of numbers and letters
in the current locale.
TODO: show example of collation
# TODO: this works on glibc systems, not on musl-libc/freebsd/macosx. $ printf 'cliché\n' | LC_ALL=fr_FR.utf8 sed 's/[[=e=]]/X/g' clichX