    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 -