71 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.TH TR 1
 | 
						|
.SH NAME
 | 
						|
tr \- translate character codes
 | 
						|
.SH SYNOPSIS
 | 
						|
\fBtr\fR [\fB\-cds\fR]\fR [\fIstring1\fR] [\fIstring2\fR]\fR
 | 
						|
.br
 | 
						|
.de FL
 | 
						|
.TP
 | 
						|
\\fB\\$1\\fR
 | 
						|
\\$2
 | 
						|
..
 | 
						|
.de EX
 | 
						|
.TP 20
 | 
						|
\\fB\\$1\\fR
 | 
						|
# \\$2
 | 
						|
..
 | 
						|
.SH OPTIONS
 | 
						|
.TP 5
 | 
						|
.B \-c
 | 
						|
# Complement the set of characters in \fIstring1\fR
 | 
						|
.TP 5
 | 
						|
.B \-d
 | 
						|
# Delete all characters specified in \fIstring1\fR
 | 
						|
.TP 5
 | 
						|
.B \-s
 | 
						|
# Squeeze all runs of characters in \fIstring1\fR to one character
 | 
						|
.SH EXAMPLES
 | 
						|
.TP 20
 | 
						|
.B tr \(fmA\-Z\(fm \(fma\-z\(fm <x >y
 | 
						|
# Convert upper case to lower case
 | 
						|
.TP 20
 | 
						|
.B tr \-d \(fm0123456789\(fm <f1 >f2
 | 
						|
# Delete all digits from \fIf1\fR
 | 
						|
.SH DESCRIPTION
 | 
						|
.PP
 | 
						|
.I Tr
 | 
						|
performs simple character translation.
 | 
						|
When no flag is specified, each character in 
 | 
						|
.I string1
 | 
						|
is mapped onto the corresponding character in
 | 
						|
.I string2 .
 | 
						|
.PP
 | 
						|
There are two types of
 | 
						|
.I tr
 | 
						|
out there, one that requires [ and ] for character classes, and one that does
 | 
						|
not.  Here is what the example above would look like for a
 | 
						|
.I tr
 | 
						|
that needs the brackets:
 | 
						|
.PP
 | 
						|
.RS
 | 
						|
.B "tr \(fm[A\-Z]\(fm \(fm[a\-z]\(fm <x >y"
 | 
						|
.RE
 | 
						|
.PP
 | 
						|
Use [ and ] if you want to be portable, because a
 | 
						|
.I tr
 | 
						|
that doesn't need them will still accept the syntax and mindlessly
 | 
						|
translate [ into [ and ] into ].
 | 
						|
.PP
 | 
						|
MINIX tr supports the following character classes: alnum, alpha, digit, lower,
 | 
						|
upper and xdigit. If any of these keywords is encountered between backets and 
 | 
						|
colons, it is replaced by respectively alphanumeric characters, alphabetic
 | 
						|
characters, decimal digits, lowercase letters, uppercase letters and 
 | 
						|
hexadecimal digits. The following are equivalent with the given examples:
 | 
						|
.TP 20
 | 
						|
.B tr \(fm[:upper:]\(fm \(fm[:lower:]\(fm <x >y
 | 
						|
# Convert upper case to lower case
 | 
						|
.TP 20
 | 
						|
.B tr \-d \(fm[:digit:]\(fm <f1 >f2
 | 
						|
# Delete all digits from \fIf1\fR
 | 
						|
 |