TR(I)                        5/20/74                        TR(I)

     tr - transliterate

     tr [ -cds ] [ string1 [ string2 ] ]

     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

     [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

     sh(I), ed(I), ascii(V)

     Won't handle ascii NUL in string1 or string2; always deletes
     NUL from input.

                              - 1 -