If necessary, string1 and string2 can be quoted to avoid pattern
matching by the shell.
If an ordinary digit (representing itself) is to follow an octal
sequence, the octal sequence must use the full three digits to
avoid ambiguity.
When string2 is shorter than string1, a difference results
between historical System V and BSD systems. A BSD system pads
string2 with the last character found in string2. Thus, it is
possible to do the following:
tr 0123456789 d
which would translate all digits to the letter 'd'
. Since this
area is specifically unspecified in this volume of POSIX.1‐2017,
both the BSD and System V behaviors are allowed, but a conforming
application cannot rely on the BSD behavior. It would have to
code the example in the following way:
tr 0123456789 '[d*]'
It should be noted that, despite similarities in appearance, the
string operands used by tr are not regular expressions.
Unlike some historical implementations, this definition of the tr
utility correctly processes NUL characters in its input stream.
NUL characters can be stripped by using:
tr -d '\000'