TR(1) User Commands TR(1)
tr - translate or delete characters
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.
Full support is available only for safe single-byte locales, in which every possible input byte represents a single character. The C locale is safe in GNU systems, so you can avoid this issue in the shell by running LC_ALL=C tr instead of plain tr.
Written by Jim Meyering.
GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report any translation bugs to <https://translationproject.org/team/>
Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
Full documentation <https://www.gnu.org/software/coreutils/tr> or available locally via: info '(coreutils) tr invocation'
This page is part of the coreutils (basic file, shell and text manipulation utilities) project. Information about the project can be found at ⟨http://www.gnu.org/software/coreutils/⟩. If you have a bug report for this manual page, see ⟨http://www.gnu.org/software/coreutils/⟩. This page was obtained from the tarball coreutils-9.3.tar.xz fetched from ⟨http://ftp.gnu.org/gnu/coreutils/⟩ on 2023-06-23. If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up-to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which is not part of the original manual page), send a mail to email@example.com GNU coreutils 9.3 April 2023 TR(1)
Pages that refer to this page: sed(1), proc(5)