1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.5.
.TH TR "1" "August 2023" "GNU coreutils 9.4" "User Commands"
.SH NAME
tr \- translate or delete characters
.SH SYNOPSIS
.B tr
[\fI\,OPTION\/\fR]... \fI\,STRING1 \/\fR[\fI\,STRING2\/\fR]
.SH DESCRIPTION
.\" Add any additional description here
.PP
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.
.TP
\fB\-c\fR, \fB\-C\fR, \fB\-\-complement\fR
use the complement of ARRAY1
.TP
\fB\-d\fR, \fB\-\-delete\fR
delete characters in ARRAY1, do not translate
.TP
\fB\-s\fR, \fB\-\-squeeze\-repeats\fR
replace each sequence of a repeated character
that is listed in the last specified ARRAY,
with a single occurrence of that character
.TP
\fB\-t\fR, \fB\-\-truncate\-set1\fR
first truncate ARRAY1 to length of ARRAY2
.TP
\fB\-\-help\fR
display this help and exit
.TP
\fB\-\-version\fR
output version information and exit
.PP
ARRAYs are specified as strings of characters. Most represent themselves.
Interpreted sequences are:
.TP
\eNNN
character with octal value NNN (1 to 3 octal digits)
.TP
\e\e
backslash
.TP
\ea
audible BEL
.TP
\eb
backspace
.TP
\ef
form feed
.TP
\en
new line
.TP
\er
return
.TP
\et
horizontal tab
.TP
\ev
vertical tab
.TP
CHAR1\-CHAR2
all characters from CHAR1 to CHAR2 in ascending order
.TP
[CHAR*]
in ARRAY2, copies of CHAR until length of ARRAY1
.TP
[CHAR*REPEAT]
REPEAT copies of CHAR, REPEAT octal if starting with 0
.TP
[:alnum:]
all letters and digits
.TP
[:alpha:]
all letters
.TP
[:blank:]
all horizontal whitespace
.TP
[:cntrl:]
all control characters
.TP
[:digit:]
all digits
.TP
[:graph:]
all printable characters, not including space
.TP
[:lower:]
all lower case letters
.TP
[:print:]
all printable characters, including space
.TP
[:punct:]
all punctuation characters
.TP
[:space:]
all horizontal or vertical whitespace
.TP
[:upper:]
all upper case letters
.TP
[:xdigit:]
all hexadecimal digits
.TP
[=CHAR=]
all characters which are equivalent to CHAR
.PP
Translation occurs if \fB\-d\fR is not given and both STRING1 and STRING2 appear.
\fB\-t\fR 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.
.SH BUGS
.PP
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
.B "LC_ALL=C tr"
instead of plain
.BR tr .
.SH AUTHOR
Written by Jim Meyering.
.SH "REPORTING BUGS"
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
.br
Report any translation bugs to <https://translationproject.org/team/>
.SH COPYRIGHT
Copyright \(co 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
.br
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
.SH "SEE ALSO"
Full documentation <https://www.gnu.org/software/coreutils/tr>
.br
or available locally via: info \(aq(coreutils) tr invocation\(aq
|