| -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 |
| \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 |
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.