Linux Command Library
commands
Commands
basic
Basic
tips
Tips

tr

translate or delete characters

- Replace all occurrences of a character in a file, and print the result:
tr [find_characters] [replace_characters] < [filename]

- Map each character of the first set to the corresponding character of the second set:
tr 'abcd' 'jkmn' < [filename]

- Delete all occurrences of the specified set of characters from the input:
tr -d '[input_characters]'

- Compress a series of identical characters to a single character:
tr -s '[input_characters]'

- Translate the contents of the file to upper-case and print result:
tr "[:lower:]" "[:upper:]" < [filename]

- Strip out non-printable characters from the file and print result:
tr -cd "[:print:]" < [filename]

tr [,OPTION/]... ,SET1 /[,SET2/]

Translate, squeeze, and/or delete characters from standard input, writing to standard output.

-c, -C, --complement
use the complement of SET1
-d, --delete
delete characters in SET1, do not translate
-s, --squeeze-repeats
replace each sequence of a repeated character that is listed in the last specified SET, with a single occurrence of that character
-t, --truncate-set1
first truncate SET1 to length of SET2
--help
display this help and exit
--version
output version information and exit

SETs 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 SET2, copies of CHAR until length of SET1
[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 SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses the last specified SET, and occurs after translation or deletion.

Written by Jim Meyering.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Report tr translation bugs to <http://translationproject.org/team/>

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://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 at: <http://www.gnu.org/software/coreutils/tr> or available locally via: info '(coreutils) tr invocation'

play store download app store download
Imprint
Sonnenallee 29, 12047 Berlin, Germany
e-mail: sschubert89@gmail.com

Privacy policy
Successfully copied