Content-type: text/html; charset=UTF-8
Man page of TR
TR
Section: User Commands (1)
Updated: June 2025
Index
Return to Main Contents
NAME
tr - translate or delete characters
SYNOPSIS
tr
[,OPTION/]... ,STRING1 /[,STRING2/]
DESCRIPTION
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.
BUGS
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.
AUTHOR
Written by Jim Meyering.
REPORTING BUGS
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
SEE ALSO
Full documentation <https://www.gnu.org/software/coreutils/tr>
or available locally via: info '(coreutils) tr invocation'
Packaged by Debian (9.7-3)
Copyright © 2025 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.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- BUGS
-
- AUTHOR
-
- REPORTING BUGS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 11:48:43 GMT, September 14, 2026