tr — stdin stdout - file -- opt --help --version
tr [options
]charset1
[charset2
]
The tr
command performs
some simple, useful translations of one set of characters into
another. For example, to capitalize everything in a file:
$ cat myfile This is a very wonderful file. $ cat myfile | tr 'a-z' 'A-Z' THIS IS A VERY WONDERFUL FILE.
or to change all vowels into asterisks:
$ cat myfile | tr aeiouAEIOU '*' Th*s *s * v*ry w*nd*rf*l f*l*.
or to delete all vowels:
$ cat myfile | tr -d aeiouAEIOU Ths s vry wndrfl fl.
As a very practical example, delete all carriage returns from
a DOS text file so it’s more compatible with Linux text utilities
like grep
:
$ tr -d ' ' < dosfile > newfile
tr
translates the first
character in charset1
into the first
character in charset2
, the second into
the second, the third into the third, etc. If the length of
charset1
is N
,
only the first N
characters in
charset2
are used. (If
charset1
is longer than
charset2
, see the -t
option.)
Character sets can have the following forms.
Form |
Meaning |
---|---|
|
The sequence of characters A, B, C, D. |
|
The range of characters from A to B. |
|
y repetitions of the character x. |
|
The same character
classes ( |
tr
also understands the
escape characters “a” (^G
= ring
bell), “” (^H
= backspace),
“f” (^L
= formfeed), “
”
(^J
= newline), “
” (^M
= return), “ ” (^I
= tab), and “v” (^K
= vertical tab) accepted by printf
(see Screen Output), as well as the notation
nnn
to mean the character with octal
value nnn
.
tr
is great for quick and
simple translations, but for more powerful jobs consider sed
, awk
, or perl
.
|
Delete the characters
in |
|
Eliminate adjacent
duplicates (found in |
|
Operate on all
characters not found in
|
|
If
|
18.119.131.178