tr(1) - Plan 9 from User Space

| TR(1) | TR(1)
| NAME
| tr – translate characters
SYNOPSIS
| `tr` [ `−cds` ] [ string1 [ string2 ] ]
DESCRIPTION
| Tr copies the standard input to the standard output with substitution or deletion of selected characters (runes). Input characters found in string1 are mapped into the corresponding characters of string2. When string2 is short it is padded to the length of string1 by duplicating its last character. Any combination of the options `−cds` may be used: `−c` Complement string1: replace it with a lexicographically ordered list of all other characters. `−d` Delete from input all characters in string1. `−s` Squeeze repeated output characters that occur in string2 to single characters.
In either string a noninitial sequence `−`x, where x is any character (possibly quoted), stands for a range of characters: a possibly empty sequence of codes running from the successor of the previous code up through the code for x. The character `\` followed by 1, 2 or 3 octal digits stands for the character whose 16-bit value is given by those digits. The character sequence `\x` followed by 1, 2, 3, or 4 hexadecimal digits stands for the character whose 16-bit value is given by those digits. A `\` followed by any other character stands for that character.
EXAMPLES
| Replace all upper-case ASCII letters by lower-case.
| `tr A−Z a−z <mixed >lower
`
Create a list of all the words in `file1` one per line in `file2`, where a word is taken to be a maximal string of alphabetics. String2 is given as a quoted newline.
| `tr −cs A−Za−z ' ' <file1 >file2`
SOURCE
| `/usr/lib/plan9/src/cmd/tr.c`
SEE ALSO
| sed(1)