Most characters simply represent themselves in these strings, but the strings can contain the shorthands listed below, for convenience. A backslash followed by a character not listed below causes an error message. Although GNU tr does not support the System V syntax that uses square brackets to enclose ranges, translations specified in that format will still work as long as the brackets in string1 correspond to identical brackets in string2 . The characters expand in no particular order, except for the upper and lower classes, which expand in ascending order. Doing this specifies case conversion.
Equivalence classes are a relatively recent invention intended to support non-English alphabets.
But there seems to be no standard way to define them or determine their contents. Characters not in set1 are passed through unchanged. When a character appears more than once in set1 and the corresponding characters in set2 are not all the same, only the final one is used. A common use of tr is to convert lowercase characters to uppercase. This can be done in many ways.