Files
plan9port/man/man1/tr.1
Dmitri Vereshchagin 10564b1175 tmac/tmac.an: define .MR in a groff compatible way
groff 1.23.0 added .MR to its -man macro package.  The NEWS file states
that the inclusion of the macro "was prompted by its introduction to
Plan 9 from User Space's troff in August 2020."  From d32deab it seems
that the name for Plan 9 from User Space's implementation was suggested
by groff maintainer G. Brandon Robinson.

Not sure if the intention was to make these definitions compatible, but
it would be nice if they were.

Currently, Plan 9 from User Space's .MR expects its second argument to
be parenthesized.  groff's .MR does not.  This results in extra
parentheses appearing in manual references when viewing Plan 9 from User
Space's manual pages on a system using groff.
2025-07-27 09:58:50 -04:00

98 lines
1.7 KiB
Groff

.TH TR 1
.SH NAME
tr \- translate characters
.SH SYNOPSIS
.B tr
[
.B -cds
]
[
.I string1
[
.I string2
]
]
.SH DESCRIPTION
.I Tr
copies the standard input to the standard output with
substitution or deletion of selected characters (runes).
Input characters found in
.I string1
are mapped into the corresponding characters of
.IR string2 .
When
.I string2
is short it is padded to the length of
.I string1
by duplicating its last character.
Any combination of the options
.B -cds
may be used:
.TP
.B -c
Complement
.IR string1 :
replace it with a lexicographically ordered
list of all other characters.
.TP
.B -d
Delete from input all characters in
.IR string1 .
.TP
.B -s
Squeeze repeated output characters that occur in
.I string2
to single characters.
.PP
In either string a noninitial sequence
.BI - x\f1,
where
.I x
is any character (possibly quoted), stands for
a range of characters:
a possibly empty sequence of codes running from
the successor of the previous code up through
the code for
.IR x .
The character
.L \e
followed by 1, 2 or 3 octal digits stands for the
character whose
16-bit
value is given by those digits.
The character sequence
.L \ex
followed by 1, 2, 3, or 4 hexadecimal digits stands
for the character whose
16-bit value is given by those digits.
A
.L \e
followed by any other character stands
for that character.
.SH EXAMPLES
Replace all upper-case
.SM ASCII
letters by lower-case.
.IP
.EX
tr A-Z a-z <mixed >lower
.EE
.PP
Create a list of all
the words in
.L file1
one per line in
.LR file2 ,
where a word is taken to be a maximal string of alphabetics.
.I String2
is given as a quoted newline.
.IP
.EX
tr -cs A-Za-z '
\&' <file1 >file2
.EE
.SH SOURCE
.B \*9/src/cmd/tr.c
.SH "SEE ALSO"
.MR sed 1