DragonFly On-Line Manual Pages
TR(1) User Commands TR(1)
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 may be used only 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/>
COPYRIGHT
Copyright (C) 2022 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.
SEE ALSO
Full documentation <https://www.gnu.org/software/coreutils/tr>
or available locally via: info '(coreutils) tr invocation'
GNU coreutils 9.1 April 2022 TR(1)
TR(1) User Commands TR(1)
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 may be used only 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/>
COPYRIGHT
Copyright (C) 2022 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.
SEE ALSO
Full documentation <https://www.gnu.org/software/coreutils/tr>
or available locally via: info '(coreutils) tr invocation'
GNU coreutils 9.1 April 2022 TR(1)