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'