- translate characters
/usr/ucb/tr [-cds] [string1 [string2]]
The tr utility copies the standard input to the standard output with substitution or deletion of selected characters. The arguments string1 and string2 are considered sets of characters. Any input character found in string1 is mapped into the character in the corresponding position within string2. When string2 is short, it is padded to the length of string1 by duplicating its last character.
In either string the notation:
denotes a range of characters from a to b in increasing ASCII order. The character \ , followed by 1, 2 or 3 octal digits stands for the character whose ASCII code is given by those digits. As with the shell, the escape character \ , followed by any other character, escapes any special meaning for that character.
Any combination of the options -c, -d, or -s may be used:
Complement the set of characters in string1 with respect to the universe of characters whose ASCII codes are 01 through 0377 octal.
Delete all input characters in string1.
Squeeze all strings of repeated output characters that are in string2 to single characters.
例 1 Creating a list of all the words in a filename
The following example creates a list of all the words in filename1, one per line, in filename2, where a word is taken to be a maximal string of alphabetics. The second string is quoted to protect ` \ ' from the shell. 012 is the ASCII code for NEWLINE.
example% tr -cs A-Za-z '\012' < filename1> filename2
See attributes(5) for descriptions of the following attributes:
Will not handle ASCII NUL in string1 or string2. tr always deletes NUL from input.