TR(I) 5/20/74 TR(I)
NAME
tr - transliterate
SYNOPSIS
tr [ -cds ] [ string1 [ string2 ] ]
DESCRIPTION
Tr copies the standard input to the standard output with
substitution or deletion of selected characters. Input
characters found in string1 are mapped into the correspond-
ing characters of string2. Any combination of the options
-cds may be used. -c complements the set of characters in
string1 with respect to the universe of characters whose
ascii codes are 001 through 377 octal. -d deletes all input
characters in string1. -s squeezes all strings of repeated
output characters that are in string2 to single characters.
The following abbreviation conventions may be used to intro-
duce ranges of characters or repeated characters into the
strings:
[a-b] stands for the string of characters whose ascii codes
run from character a to character b.
[a*n], where n is an integer or empty, stands for n-fold
repetition of character a. n is taken to be octal or deci-
mal according as its first digit is or is not zero. A zero
or missing n is taken to be huge; this facility is useful
for padding string2.
The escape character `\' may be used as in sh to remove spe-
cial meaning from any character in a string. In addition,
`\' followed by 1, 2 or 3 octal digits stands for the char-
acter whose ascii code is given by those digits.
The following example creates 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. The strings are quoted to
protect the special characters from interpretation by the
Shell; 012 is the ascii code for newline.
tr -cs "[A-Z][a-z]" "[\012*]" <file1 >file2
SEE ALSO
sh(I), ed(I), ascii(V)
BUGS
Won't handle ascii NUL in string1 or string2; always deletes
NUL from input.
- 1 -