OS Manuals

/usr/bin/tr

GNU core utilities

From coreutils 9.12-r7 (os), captured 2026-11-05 by running tr --help (exit 0). permalink

Also provided by 1 other package version
Usage: /usr/bin/tr [OPTION]... STRING1 [STRING2]
Translate, squeeze, and/or delete characters from standard input,
writing to standard output.  STRING1 and STRING2 specify arrays of
characters ARRAY1 and ARRAY2 that control the action.

  -c, -C, --complement
         use the complement of ARRAY1
  -d, --delete
         delete characters in ARRAY1, do not translate
  -s, --squeeze-repeats
         replace each sequence of a repeated character
         that is listed in the last specified ARRAY,
         with a single occurrence of that character
  -t, --truncate-set1
         first truncate ARRAY1 to length of ARRAY2
      --help
         display this help and exit
      --version
         output version information and exit

ARRAYs are specified as strings of characters.  Most represent themselves.
Interpreted sequences are:

  \NNN            character with octal value NNN (1 to 3 octal digits)
  \\              backslash
  \a              audible BEL
  \b              backspace
  \f              form feed
  \n              new line
  \r              return
  \t              horizontal tab
  \v              vertical tab
  CHAR1-CHAR2     all characters from CHAR1 to CHAR2 in ascending order
  [CHAR*]         in ARRAY2, copies of CHAR until length of ARRAY1
  [CHAR*REPEAT]   REPEAT copies of CHAR, REPEAT octal if starting with 0
  [:alnum:]       all letters and digits
  [:alpha:]       all letters
  [:blank:]       all horizontal whitespace
  [:cntrl:]       all control characters
  [:digit:]       all digits
  [:graph:]       all printable characters, not including space
  [:lower:]       all lower case letters
  [:print:]       all printable characters, including space
  [:punct:]       all punctuation characters
  [:space:]       all horizontal or vertical whitespace
  [:upper:]       all upper case letters
  [:xdigit:]      all hexadecimal digits
  [=CHAR=]        all characters which are equivalent to CHAR

Translation occurs if -d is not given and both STRING1 and STRING2 appear.
-t is only significant when translating.  ARRAY2 is extended to length of
ARRAY1 by repeating its last character as necessary.  Excess characters
of ARRAY2 are ignored.  Character classes expand in unspecified order;
while translating, '[:lower:]' and '[:upper:]' may be used in pairs to
specify case conversion.  Squeezing occurs after translation or deletion.
Arguments like '[...]' should be quoted, to avoid potential shell globbing.

Report bugs to: <bug-coreutils@gnu.org>.
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Full documentation <https://www.gnu.org/software/coreutils/tr>
or available locally via: info '(coreutils) tr invocation'
Options (6)
OptionDescriptionSource
-c, -C, --complementuse the complement of ARRAY1help + man
-d, --deletedelete characters in ARRAY1, do not translatehelp + man
-s, --squeeze-repeatsreplace each sequence of a repeated character that is listed in the last specified ARRAY, with a single occurrence of that characterhelp + man
-t, --truncate-set1first truncate ARRAY1 to length of ARRAY2help + man
--helpdisplay this help and exithelp + man
--versionoutput version information and exithelp + man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.