Print this page
5025 import and use mandoc
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Albert Lee <trisk@nexenta.com>
Approved by: TBD
   1 '\" te
   2 .\" Copyright (c) 1995, Sun Microsystems, Inc.
   3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   6 .TH MAN 5 "Jan 30, 1995"
   7 .SH NAME
   8 man \- macros to format Reference Manual pages
   9 .SH SYNOPSIS
  10 .LP
  11 .nf
  12 \fBnroff\fR \fB-man\fR \fIfilename\fR...
  13 .fi
  14 
  15 .LP
  16 .nf
  17 \fBtroff\fR  \fB-man\fR \fIfilename\fR...
  18 .fi
  19 
  20 .SH DESCRIPTION
  21 .sp
  22 .LP
  23 These macros are used to lay out the reference pages in this manual. Note: if
  24 \fIfilename\fR contains format input for a preprocessor, the commands shown

  25 above must be piped through the appropriate preprocessor. This is handled
  26 automatically by the \fBman\fR(1) command. See the ``Conventions'' section.
  27 .sp
  28 .LP
  29 Any text argument \fIt\fR may be zero to six words. Quotes may be used to
  30 include SPACE characters in a "word".  If \fItext\fR is empty, the special









  31 treatment is applied to the next input line with text to be printed. In this
  32 way \fB\&.I\fR may be used to italicize a whole line, or \fB\&.SB\fR may be
  33 used to make small bold letters.
  34 .sp
  35 .LP


  36 A prevailing indent distance is remembered between successive indented
  37 paragraphs, and is reset to default value upon reaching a non-indented
  38 paragraph.  Default units for indents \fIi\fR are ens.
  39 .sp
  40 .LP

  41 Type font and size are reset to default values before each paragraph, and after
  42 processing font and size setting macros.
  43 .sp
  44 .LP
  45 These strings are predefined by \fB-man\fR:
  46 .sp
  47 .ne 2
  48 .na
  49 \fB\fB\e*R\fR\fR
  50 .ad
  51 .RS 8n
  52 `\(rg', `(Reg)' in \fBnroff\fR.
  53 .RE
  54 
  55 .sp
  56 .ne 2
  57 .na
  58 \fB\fB\e*S\fR\fR
  59 .ad
  60 .RS 8n
  61 Change to default type size.
  62 .RE
  63 
  64 .SS "Requests"
  65 .sp
  66 .LP
  67 * n.t.l. = next text line; p.i. = prevailing indent
  68 .sp
  69 
  70 .sp
  71 .TS
  72 c c c c
  73 c c c c .
  74 \fIRequest\fR   \fICause\fR     \fIIf no\fR     \fIExplanation\fR
  75         \fIBreak\fR     \fIArgument\fR  
  76 \fB\&.B \fR\fIt\fR  no      \fIt\fR=n.t.l.* Text is in bold font.
  77 \fB\&.BI \fR\fIt\fR no      \fIt\fR=n.t.l.  Join words, alternating bold and italic.
  78 \fB\&.BR \fR\fIt\fR no      \fIt\fR=n.t.l.  Join words, alternating bold and roman.
  79 \fB\&.DT\fR no      \&.5i 1i... Restore default tabs.
  80 \fB\&.HP \fR\fIi\fR yes     \fIi\fR=p.i.*   T{
  81 Begin paragraph with hanging indent. Set prevailing indent to \fIi\fR.
  82 T}
  83 \fB\&.I \fR\fIt\fR  no      \fIt\fR=n.t.l.  Text is italic.
  84 \fB\&.IB \fR\fIt\fR no      \fIt\fR=n.t.l.  Join words, alternating italic and bold.
  85 \fB\&.IP \fR\fIx i\fR       yes     \fIx\fR=""      Same as \fB\&.TP\fR with tag \fIx\fR.
  86 \fB\&.IR \fR\fIt\fR no      \fIt\fR=n.t.l.  T{
  87 Join words, alternating italic and roman.
  88 T}
  89 \fB\&.IX \fR\fIt\fR no      -       Index macro, for SunSoft internal use.
  90 \fB\&.LP\fR yes     -       T{
  91 Begin left-aligned paragraph. Set prevailing indent to .5i.
  92 T}
  93 \fB\&.P\fR  yes     -       Same as \fB\&.LP\fR.
  94 \fB\&.PD \fR\fId\fR no      \fId\fR=.4v     T{
  95 Set vertical distance between paragraphs.
  96 T}
  97 \fB\&.PP\fR yes     -       Same as \fB\&.LP\fR.
  98 \fB\&.RE\fR yes     -       T{
  99 End of relative indent. Restores prevailing indent.
 100 T}
 101 \fB\&.RB \fR\fIt\fR no      \fIt\fR=n.t.l.  Join words, alternating roman and bold.
 102 \fB\&.RI \fR\fIt\fR no      \fIt\fR=n.t.l.  T{
 103 Join words, alternating roman and italic.
 104 T}
 105 \fB\&.RS \fR\fIi\fR yes     \fIi\fR=p.i.    T{
 106 Start relative indent, increase indent by \fIi\fR. Sets prevailing indent to .5i for nested indents.
 107 T}
 108 \fB\&.SB \fR\fIt\fR no      -       T{
 109 Reduce size of text by 1 point, make text bold.
 110 T}
 111 \fB\&.SH \fR\fIt\fR yes     -       Section Heading.
 112 \fB\&.SM \fR\fIt\fR no      \fIt\fR=n.t.l.  Reduce size of text by 1 point.
 113 \fB\&.SS \fR\fIt\fR yes     \fIt\fR=n.t.l.  Section Subheading.
 114 \fB\&.TH \FR\FIN S "f d, m\fR"
 115 \fB\&.TH \fR\fIn s d f m\fR yes     -       T{
 116 Begin reference page \fIn\fR, of of section \fIs\fR; \fId\fR is the date of the most recent change.  If present, \fIf\fR is the left page footer; \fIm\fR is the main page (center) header.  Sets prevailing indent and tabs to .5i.
 117 T}
 118 \fB\&.TP \fR\fIi\fR yes     \fIi\fR=p.i.    T{
 119 Begin indented paragraph, with the tag given on the next text line. Set prevailing indent to \fIi\fR.
 120 T}
 121 \fB\&.TX \fR\fIt \fR\fIp\fR no      -       T{
 122 Resolve the title abbreviation \fIt\fR; join to punctuation mark (or text) \fIp\fR.
 123 T}
 124 .TE
 125 
 126 .SS "Conventions"
 127 .sp
 128 .LP
 129 When formatting a manual page, \fBman\fR examines the first line to determine
 130 whether it requires special processing. For example a first line consisting of:
 131 .sp
 132 .LP
 133 \fB\&'\e" t\fR
 134 .sp
 135 .LP
 136 indicates that the manual page must be run through the \fBtbl\fR(1)
 137 preprocessor.
 138 .sp
 139 .LP
 140 A typical manual page for a command or function is laid out as follows:
 141 .sp
 142 .ne 2
 143 .na
 144 \fB\&.TH\fI TITLE \FR[1-9]\FR " , "
 145 .ad
 146 .RS 23n
 147 The name of the command or function, which serves as the title of the manual
 148 page. This is followed by the number of the section in which it appears.
 149 .RE
 150 
 151 .sp
 152 .ne 2
 153 .na
 154 \fB\&.SH NAME\fR
 155 .ad
 156 .RS 23n
 157 The name, or list of names, by which the command is called, followed by a dash
 158 and then a one-line summary of the action performed. All in roman font, this
 159 section contains no \fBtroff\fR(1) commands or escapes, and no macro requests.
 160 It is used to generate the \fBwindex\fR database, which is used by the
 161 \fBwhatis\fR(1) command.
 162 .RE
 163 
 164 .sp
 165 .ne 2
 166 .na
 167 \fB\&.SH SYNOPSIS\fR
 168 .ad
 169 .RS 23n
 170 .sp
 171 .ne 2
 172 .na
 173 \fBCommands:\fR
 174 .ad
 175 .RS 13n
 176 The syntax of the command and its arguments, as typed on the command line.
 177 When in boldface, a word must be typed exactly as printed.  When in italics, a
 178 word can be replaced with an argument that you supply. References to bold or
 179 italicized items are not capitalized in other sections, even when they begin a
 180 sentence.
 181 .sp
 182 Syntactic symbols appear in roman face:
 183 .sp
 184 .ne 2
 185 .na
 186 \fB[ ]\fR
 187 .ad
 188 .RS 13n
 189 An argument, when surrounded by brackets is optional.
 190 .RE
 191 
 192 .sp
 193 .ne 2
 194 .na
 195 \fB|\fR
 196 .ad
 197 .RS 13n
 198 Arguments separated by a vertical bar are exclusive. You can supply only one
 199 item from such a list.
 200 .RE
 201 
 202 .sp
 203 .ne 2
 204 .na
 205 \fB\&.\|.\|.\fR
 206 .ad
 207 .RS 13n
 208 Arguments followed by an ellipsis can be repeated. When an ellipsis follows a
 209 bracketed set, the expression within the brackets can be repeated.
 210 .RE
 211 
 212 .RE
 213 
 214 .sp
 215 .ne 2
 216 .na
 217 \fBFunctions:\fR
 218 .ad
 219 .RS 14n
 220 If required, the data declaration, or \fB#include\fR directive, is shown first,
 221 followed by the  function declaration. Otherwise, the function declaration is
 222 shown.
 223 .RE
 224 
 225 .RE
 226 
 227 .sp
 228 .ne 2
 229 .na
 230 \fB\&.SH DESCRIPTION\fR
 231 .ad
 232 .RS 23n
 233 A narrative overview of the command or function's external behavior. This
 234 includes how it interacts with files or data, and how it handles the standard
 235 input, standard output and standard error. Internals and implementation details
 236 are normally omitted. This section attempts to provide a succinct overview in
 237 answer to the question, "what does it do?"
 238 .sp
 239 Literal text from the synopsis appears in constant width, as do literal
 240 filenames and references to items that appear elsewhere in the  reference
 241 manuals. Arguments are italicized.
 242 .sp
 243 If a command interprets either subcommands or an input grammar, its command
 244 interface or input grammar is normally described in a \fBUSAGE\fR section,
 245 which follows the \fBOPTIONS\fR section.  The  \fBDESCRIPTION\fR section only





 246 describes the behavior of the command itself, not that of subcommands.
 247 .RE
 248 
 249 .sp
 250 .ne 2
 251 .na
 252 \fB\&.SH OPTIONS\fR
 253 .ad
 254 .RS 23n
 255 The list of options along with a description of how each affects the command's
 256 operation.
 257 .RE
 258 
 259 .sp
 260 .ne 2
 261 .na
 262 \fB\&.SH RETURN VALUES\fR
 263 .ad
 264 .RS 23n
 265 A list of the values the library routine will return to the calling  program
 266 and the conditions that cause these values to be returned.
 267 .RE
 268 
 269 .sp
 270 .ne 2
 271 .na
 272 \fB\&.SH EXIT STATUS\fR
 273 .ad
 274 .RS 23n
 275 A list of the values the utility will return to the calling  program or shell,
 276 and the conditions that cause these values to be  returned.
 277 .RE
 278 
 279 .sp
 280 .ne 2
 281 .na
 282 \fB\&.SH FILES\fR
 283 .ad
 284 .RS 23n
 285 A list of files associated with the command or function.
 286 .RE
 287 
 288 .sp
 289 .ne 2
 290 .na
 291 \fB\&.SH SEE ALSO\fR
 292 .ad
 293 .RS 23n
 294 A comma-separated list of related manual pages, followed by references to other
 295 published materials.
 296 .RE
 297 
 298 .sp
 299 .ne 2
 300 .na
 301 \fB\&.SH DIAGNOSTICS\fR
 302 .ad
 303 .RS 23n
 304 A list of diagnostic messages and an explanation of each.
 305 .RE
 306 
 307 .sp
 308 .ne 2
 309 .na
 310 \fB\&.SH BUGS\fR
 311 .ad
 312 .RS 23n
 313 A description of limitations, known defects, and possible problems associated
 314 with the command or function.
 315 .RE
 316 
 317 .SH FILES
 318 .sp
 319 .ne 2
 320 .na
 321 \fB\fB/usr/share/lib/tmac/an\fR \fR
 322 .ad
 323 .RS 27n
 324 
 325 .RE
 326 
 327 .sp
 328 .ne 2
 329 .na
 330 \fB\fB/usr/share/man/windex\fR\fR
 331 .ad
 332 .RS 27n
 333 
 334 .RE
 335 
 336 .SH SEE ALSO
 337 .sp
 338 .LP
 339 \fBman\fR(1), \fBnroff\fR(1), \fBtroff\fR(1), \fBwhatis\fR(1)
 340 .sp
 341 .LP
 342 Dale Dougherty and   Tim O'Reilly, \fIUnix\fR \fIText\fR \fIProcessing\fR








   1 .\" Copryight 2014 Garrett D'Amore <garrett@damore.org>
   2 .\" Copyright (c) 1995, Sun Microsystems, Inc.
   3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   6 .Dd "Jul 19, 2014"
   7 .Dt MAN 5
   8 .Os
   9 .Sh NAME
  10 .Nm man
  11 .Nd macros to format Reference Manual pages
  12 .Sh SYNOPSIS
  13 .Nm mandoc
  14 .Fl T Ar man
  15 .Ar
  16 .Nm nroff
  17 .Fl man
  18 .Ar
  19 .Nm troff
  20 .Fl man
  21 .Ar
  22 .Sh DESCRIPTION
  23 These macros are used to lay out the reference pages in this manual. Note: if
  24 .Ar file
  25 contains format input for a preprocessor, the commands shown
  26 above must be piped through the appropriate preprocessor. This is handled
  27 automatically by the
  28 .Xr man 1
  29 command. See the
  30 .Sx Conventions
  31 section.
  32 .Lp
  33 Any text argument
  34 .Ar t
  35 may be zero to six words. Quotes may be used to
  36 include SPACE characters in a
  37 .Qq word .
  38 If
  39 .Ar text
  40 is empty, the special
  41 treatment is applied to the next input line with text to be printed. In this
  42 way
  43 .Nm \&.I
  44 may be used to italicize a whole line, or
  45 .Nm \&.SB
  46 may be used to make small bold letters.
  47 .Lp
  48 A prevailing indent distance is remembered between successive indented
  49 paragraphs, and is reset to default value upon reaching a non-indented
  50 paragraph.  Default units for indents
  51 .Nm i
  52 are ens.
  53 .Lp
  54 Type font and size are reset to default values before each paragraph, and after
  55 processing font and size setting macros.
  56 .Pp
  57 These strings are predefined by
  58 .Nm -man :
  59 .Bl -tag -width Ds
  60 .It Nm \e*R
  61 .Sq \(rg ,
  62 .Sq (Reg)
  63 in
  64 .Nm nroff .
  65 .It Nm \e*S








  66 Change to default type size.
  67 .El
  68 .Sh "Requests"



  69 * n.t.l. = next text line; p.i. = prevailing indent
  70 .Bl -column ".TH n s d f m" "Cause " "t=n.t.l.*" "Explanation " -offset Ds
  71 .It Sy Request  Sy Cause        Sy "If No"      Sy Explanation
  72 .It ""  Sy Break        Sy "Argument"   ""
  73 .It Nm \&.B Ar "t"  no      Ar t Ns =n.t.l.*        Text is in bold font.
  74 .It Nm \&.BI Ar t   no      Ar t Ns =n.t.l. Join words, alternating bold and italic.
  75 .It Nm \&.BR Ar t   no      Ar t Ns =n.t.l. Join words, alternating bold and roman.
  76 .It Nm \&.DT        no      Li \&.5i 1i...      Restore default tabs.
  77 .It Nm \&.HP Ar i   yes     Ar i Ns =p.i.*  "Begin paragraph with hanging indent. Set prevailing indent to" Ar i .
  78 .It Nm \&.I Ar t    no      Ar t Ns =n.t.l. Text is italic.
  79 .It Nm \&.IB Ar t   no      Ar t Ns =n.t.l. Join words, altenrating italic and bold.
  80 .It Nm \&.IP Ar x Ar i      yes     Ar x Ns =""     Same as
  81 .Nm \&.TP
  82 with tag
  83 .Ar x .
  84 .It Nm \&.IR Ar t   no      Ar t Ns =n.t.l. Join words, alternating italic and roman.
  85 .It Nm \&.IX Ar t   no      -       Index macro, not used (obsolete).
  86 .It Nm \&.LP        yes     -       Begin left-aligned paragraph. Set prevailing indent to .5i.
  87 .It Nm \&.P yes     -       Same as
  88 .Nm \&.LP .
  89 .It Nm \&.PD Ar d   no      Ar d Ns =.4v    Set vertical distance between paragraphs.
  90 .It Nm \&.PP        yes     -       Same as
  91 .Nm \&.LP .
  92 .It Nm \&.RE        yes     -       End of relative indent. Restores prevailing indent.
  93 .It Nm \&.RB Ar t   no      Ar t Ns =n.t.l. Join words, alternating roman and bold.
  94 .It Nm \&.RI Ar t   no      Ar t Ns =n.t.l. Join words, alternating roman and italic.
  95 .It Nm \&.RS Ar i   yes     Ar i Ns =p.i.   Start relative indent, increase indent by Ar i .
  96 Sets prevailing indent to .5i for nested indents.
  97 .It Nm \&.SB Ar t   no      -       Reduce size of text by 1 point, make text bold.
  98 .It Nm \&.SH Ar t   yes     -       Section Heading.
  99 .It Nm \&.SM Ar t   no      Ar t Ns =n.t.l. Reduce size of text by 1 point.
 100 .It Nm \&.SS Ar t   yes     Ar t Ns =n.t.l. Section Subheading.
 101 .It Nm \&.TH Ar n s d f m   yes     -       Begin reference page Ar n , No of section Ar s ; Ar d No is the date of the most recent change.  If present, Ar f No is the left page footer; Ar m No is the main page (center) header.  Sets prevailing indent and tabs to .5i.
 102 .It Nm \&.TP Ar i   yes     Ar i Ns =p.i.   Begin indented paragraph, with the tag given on the next text line. Set prevailing indent to
 103 .Ar i .
 104 .It Nm \&.TX Ar t p no      -       Resolve the title abbreviation Ar t ; No join to punctuation mark (or text) Ar p .
 105 .El
 106 .Ss "Conventions"
 107 When formatting a manual page,
 108 .Nm
 109 examines the first line to determine






















 110 whether it requires special processing. For example a first line consisting of:
 111 .Lp
 112 .Dl \&'\e" t
 113 .Lp
 114 indicates that the manual page must be run through the
 115 .Xr tbl 1

 116 preprocessor.
 117 .Lp

 118 A typical manual page for a command or function is laid out as follows:
 119 .Bl -tag -width ".SH RETURN VALUES"
 120 .
 121 .It Nm \&.TH Ar title Op "1-9"
 122 .


 123 The name of the command or function, which serves as the title of the manual
 124 page. This is followed by the number of the section in which it appears.
 125 .
 126 .It Nm SH NAME
 127 .





 128 The name, or list of names, by which the command is called, followed by a dash
 129 and then a one-line summary of the action performed. All in roman font, this
 130 section contains no
 131 .Xr troff 1
 132 commands or escapes, and no macro requests.
 133 It is used to generate the database used by the
 134 .Xr whatis 1
 135 command.
 136 .
 137 .It Nm SH SYNOPSIS
 138 .Bl -tag -width "Functions:"
 139 .It Sy Commands:







 140 The syntax of the command and its arguments, as typed on the command line.
 141 When in boldface, a word must be typed exactly as printed.  When in italics, a
 142 word can be replaced with an argument that you supply. References to bold or
 143 italicized items are not capitalized in other sections, even when they begin a
 144 sentence.
 145 .Lp
 146 Syntactic symbols appear in roman face:
 147 .Bl -tag -width "   "
 148 .It Op " "




 149 An argument, when surrounded by brackets is optional.
 150 .It |







 151 Arguments separated by a vertical bar are exclusive. You can supply only one
 152 item from such a list.
 153 .It \&.\|.\|.







 154 Arguments followed by an ellipsis can be repeated. When an ellipsis follows a
 155 bracketed set, the expression within the brackets can be repeated.
 156 .El
 157 .It Sy Functions:
 158 If required, the data declaration, or
 159 .Li #include
 160 directive, is shown first,






 161 followed by the  function declaration. Otherwise, the function declaration is
 162 shown.
 163 .El
 164 .
 165 .It Nm \&.SH DESCRIPTION
 166 .






 167 A narrative overview of the command or function's external behavior. This
 168 includes how it interacts with files or data, and how it handles the standard
 169 input, standard output and standard error. Internals and implementation details
 170 are normally omitted. This section attempts to provide a succinct overview in
 171 answer to the question, "what does it do?"
 172 .Lp
 173 Literal text from the synopsis appears in constant width, as do literal
 174 filenames and references to items that appear elsewhere in the  reference
 175 manuals. Arguments are italicized.
 176 .Lp
 177 If a command interprets either subcommands or an input grammar, its command
 178 interface or input grammar is normally described in a
 179 .Nm USAGE
 180 section, which follows the
 181 .Nm OPTIONS
 182 section.  The
 183 .Nm DESCRIPTION
 184 section only
 185 describes the behavior of the command itself, not that of subcommands.
 186 .
 187 .It Nm \&.SH OPTIONS
 188 .





 189 The list of options along with a description of how each affects the command's
 190 operation.
 191 .
 192 .It Nm \&.SH RETURN VALUES
 193 .





 194 A list of the values the library routine will return to the calling  program
 195 and the conditions that cause these values to be returned.
 196 .
 197 .It Nm \&.SH EXIT STATUS
 198 .





 199 A list of the values the utility will return to the calling  program or shell,
 200 and the conditions that cause these values to be  returned.
 201 .
 202 .It Nm \&.SH FILES
 203 .





 204 A list of files associated with the command or function.
 205 .
 206 .It Nm \&.SH SEE ALSO
 207 .





 208 A comma-separated list of related manual pages, followed by references to other
 209 published materials.
 210 .
 211 .It Nm \&.SH DIAGNOSTICS
 212 .





 213 A list of diagnostic messages and an explanation of each.
 214 .
 215 .It Nm \&.SH BUGS
 216 .





 217 A description of limitations, known defects, and possible problems associated
 218 with the command or function.
 219 .El
 220 .Sh FILES
 221 .Pa /usr/share/man/whatis
 222 .Sh NOTES
 223 The
 224 .Nm
 225 package should not be used for new documentation.  The
 226 .Xr mdoc 5 ,
 227 package is preferred, as it uses semantic markup rather than physical markup.
 228 .Sh CODE SET INDEPENDENCE
 229 When processed with
 230 .Xr mandoc 1 ,
 231 this package is Code Set Independent. However, when processed with
 232 legacy tools such as
 233 .Xr nroff 1
 234 and
 235 .Xr troff 1 ,
 236 the use of multi-byte characters may not be supported.
 237 .Sh INTERFACE STABILITY
 238 .Nm Obsolete Committed .
 239 The
 240 .Xr mdoc 5
 241 package should be used instead.
 242 .Sh SEE ALSO
 243 .Xr eqn 1 ,
 244 .Xr man 1 ,
 245 .Xr mandoc 1 ,
 246 .Xr nroff 1 ,
 247 .Xr troff 1 ,
 248 .Xr tbl 1 ,
 249 .Xr whatis 1 ,
 250 .Xr mdoc 5 ,
 251 .Rs
 252 .%A Dale Dougherty and Tim O'Reilly
 253 .%B Unix Text Processing
 254 .Re