From owner-man-jp-reviewer@jp.FreeBSD.org Sun Sep 29 00:23:48 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g8SFNm402491;
	Sun, 29 Sep 2002 00:23:48 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from mistral.imasy.or.jp (flets22-023.kamome.or.jp [218.45.22.23])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g8SFNk302474
	for <man-jp-reviewer@jp.FreeBSD.org>; Sun, 29 Sep 2002 00:23:46 +0900 (JST)
	(envelope-from mistral@imasy.or.jp)
Received: from mistral.imasy.or.jp (localhost [IPv6:::1])
	by mistral.imasy.or.jp (8.12.6/8.12.6/mistral) with ESMTP id g8SF6tdb017964
	(version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO)
	for <man-jp-reviewer@jp.FreeBSD.org>; Sun, 29 Sep 2002 00:06:56 +0900 (JST)
	(envelope-from mistral@imasy.or.jp)
Received: (from sarumaru@localhost)
	by mistral.imasy.or.jp (8.12.6/8.12.6/Submit) id g8SF6s8d017963;
	Sun, 29 Sep 2002 00:06:54 +0900 (JST)
	(envelope-from sarumaru)
From: mistral@imasy.or.jp (Yoshihiko SARUMARU)
To: man-jp-reviewer@jp.FreeBSD.org
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
X-Mailer: mnews [version 1.22PL5] 2001-02/07(Wed)
Message-ID: <020929000654.M0117877@mistral.imasy.or.jp>
Reply-To: man-jp-reviewer@jp.FreeBSD.org
Precedence: list
Date: Sun, 29 Sep 2002 00:06:54 +0900
X-Sequence: man-jp-reviewer 4255
Subject: [man-jp-reviewer 4255] nawk(1)
Errors-To: owner-man-jp-reviewer@jp.FreeBSD.org
Sender: owner-man-jp-reviewer@jp.FreeBSD.org
X-Originator: mistral@imasy.or.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020902

$B1n4]$G$9!#(B

$B$:$$$V$s3]$C$F$7$^$$$^$7$?$,!"(Bnawk(1) $B$N=iLu$G$9!#(B
$B$h$m$7$/$*4j$$$7$^$9!#(B

--- nawk.1      Tue Jul 23 11:38:28 2002
+++ nawk.1.ja	Sat Sep 28 23:54:08 2002
@@ -10,9 +10,9 @@
 awk
 .TH AWK 1
 .CT 1 files prog_other
-.SH NAME
-awk \- pattern-directed scanning and processing language
-.SH SYNOPSIS
+.SH $BL>>N(B
+awk \- $B%Q%?!<%s;X8~7?8!:w!&=hM}8@8l(B
+.SH $B=q<0(B
 .B awk
 [
 .BI \-F
@@ -31,454 +31,430 @@
 [
 .I file ...
 ]
-.SH DESCRIPTION
-.I Awk
-scans each input
-.I file
-for lines that match any of a set of patterns specified literally in
+.SH $B2r@b(B
+.I awk
+$B$O(B
 .IR prog
-or in one or more files
-specified as
+$B$^$?$O(B 1 $B$D0J>e$N(B
 .B \-f
-.IR progfile .
-With each pattern
-there can be an associated action that will be performed
-when a line of a
+.IR progfile
+$B$N7A<0$G;XDj$5$l$?%U%!%$%k$K$*$$$F(B
+$B;XDj$5$l$?%Q%?!<%s$NAH$K%^%C%A$7$?9T$rC`8lE*$K!"3F(B
+.I file
+$B$+$i8!:w$7$^$9!#(B
 .I file
-matches the pattern.
-Each line is matched against the
-pattern portion of every pattern-action statement;
-the associated action is performed for each matched pattern.
-The file name 
+$B$N9T$,%Q%?!<%s$K%^%C%A$7$?:]$K<B9T$9$k%"%/%7%g%s$r!"(B
+$B3F%Q%?!<%s$KBP$7$F4XO"$E$1$i$l$^$9!#(B
+$B3F9T$OA4$F$N%Q%?!<%s(B-$B%"%/%7%g%sJ8$K$*$1$k%Q%?!<%sIt$KBP$7$F%^%C%A$7!"(B
+$B4XO"$E$1$i$l$?%"%/%7%g%s$O%^%C%A$7$?%Q%?!<%s$=$l$>$l$KBP$7$F<B9T$5$l$^$9!#(B
+$B%U%!%$%kL>(B
 .B \-
-means the standard input.
-Any
-.IR file
-of the form
+$B$OI8=`F~NO$r0UL#$7$^$9!#(B
 .I var=value
-is treated as an assignment, not a filename,
-and is executed at the time it would have been opened if it were a filename.
-The option
+$B7A<0$N(B
+.IR file
+$B$O%U%!%$%kL>$G$J$/3d$jEv$F$H$7$F07$o$l!"$=$l$,%U%!%$%kL>$G$"$C$?>l9g$K(B
+$B3+$+$l$?$G$"$m$&%?%$%_%s%0$G<B9T$5$l$^$9!#(B
 .B \-v
-followed by
+$B%*%W%7%g%s(B
+$B$N8e$KB3$/(B
 .I var=value
-is an assignment to be done before
+$B$O(B
 .I prog
-is executed;
-any number of
+$B$,<B9T$5$l$kA0$K3d$jEv$F$i$l$^$9!#(B
 .B \-v
-options may be present.
-The
+$B%*%W%7%g%s$O$$$/$D$"$C$F$b9=$$$^$;$s!#(B
 .B \-F
 .IR fs
-option defines the input field separator to be the regular expression
-.IR fs.
+$B%*%W%7%g%s$OF~NO%U%#!<%k%I%;%Q%l!<%?$r@55,I=8=(B
+.IR fs
+$B$KDj5A$7$^$9!#(B
 .PP
-An input line is normally made up of fields separated by white space,
-or by regular expression
-.BR FS .
-The fields are denoted
+$BF~NO9T$ODL>o6uGr$^$?$O@55,I=8=(B
+.BR FS
+$B$K$h$C$F%U%#!<%k%I$KJ,2r$5$l$^$9!#(B
+$B%U%#!<%k%I$O(B
 .BR $1 ,
 .BR $2 ,
-\&..., while
+\&...
+$B$GI=$5$l!"(B
 .B $0
-refers to the entire line.
-If
+$B$O9TA4BN$r0UL#$7$^$9!#(B
 .BR FS
-is null, the input line is split into one field per character.
+$B$,%L%k$@$C$?>l9g$K$O!"F~NO9T$O0lJ8;z$4$H$K%U%#!<%k%I$KJ,$1$i$l$^$9!#(B
 .PP
-A pattern-action statement has the form
+$B%Q%?!<%s(B-$B%"%/%7%g%sJ8$O0J2<$N$h$&$J7A<0$G$9(B
 .IP
 .IB pattern " { " action " }
 .PP
-A missing 
 .BI { " action " }
-means print the line;
-a missing pattern always matches.
-Pattern-action statements are separated by newlines or semicolons.
+$B$,$J$$>l9g$K$O!"9T$rI=<($7$^$9!#(B
+$B%Q%?!<%s$,$J$+$C$?>l9g$K$O!">o$K%^%C%A$7$^$9!#(B
+$B%Q%?!<%s(B-$B%"%/%7%g%sJ8$O2~9T$^$?$O%;%_%3%m%s$GJ,N%$5$l$^$9!#(B
 .PP
-An action is a sequence of statements.
-A statement can be one of the following:
+$B%"%/%7%g%s$OJ8$NJB$S$G$9!#(B
+$BJ8$O0J2<$N$&$A$N$I$l$+$G$9(B:
 .PP
 .EX
-.ta \w'\f(CWdelete array[expression]'u
+.ta \w'\f(CWdelete array[$B<0(B]'u
 .RS
 .nf
 .ft CW
-if(\fI expression \fP)\fI statement \fP\fR[ \fPelse\fI statement \fP\fR]\fP
-while(\fI expression \fP)\fI statement\fP
-for(\fI expression \fP;\fI expression \fP;\fI expression \fP)\fI statement\fP
-for(\fI var \fPin\fI array \fP)\fI statement\fP
-do\fI statement \fPwhile(\fI expression \fP)
+if(\fI $B<0(B \fP)\fI $BJ8(B \fP\fR[ \fPelse\fI $BJ8(B \fP\fR]\fP
+while(\fI $B<0(B \fP)\fI $BJ8(B\fP
+for(\fI $B<0(B \fP;\fI $B<0(B \fP;\fI $B<0(B \fP)\fI $BJ8(B\fP
+for(\fI var \fPin\fI array \fP)\fI $BJ8(B\fP
+do\fI $BJ8(B \fPwhile(\fI $B<0(B \fP)
 break
 continue
-{\fR [\fP\fI statement ... \fP\fR] \fP}
-\fIexpression\fP	#\fR commonly\fP\fI var = expression\fP
-print\fR [ \fP\fIexpression-list \fP\fR] \fP\fR[ \fP>\fI expression \fP\fR]\fP
-printf\fI format \fP\fR[ \fP,\fI expression-list \fP\fR] \fP\fR[ \fP>\fI expression \fP\fR]\fP
-return\fR [ \fP\fIexpression \fP\fR]\fP
-next	#\fR skip remaining patterns on this input line\fP
-nextfile	#\fR skip rest of this file, open next, start at top\fP
-delete\fI array\fP[\fI expression \fP]	#\fR delete an array element\fP
-delete\fI array\fP	#\fR delete all elements of array\fP
-exit\fR [ \fP\fIexpression \fP\fR]\fP	#\fR exit immediately; status is \fP\fIexpression\fP
+{\fR [\fP\fI $BJ8(B ... \fP\fR] \fP}
+\fI$B<0(B\fP	#\fR $B%3%^%s%I$N$_(B\fP\fI var = $B<0(B\fP
+print\fR [ \fP\fI$B<0(B-$B%j%9%H(B \fP\fR] \fP\fR[ \fP>\fI $B<0(B \fP\fR]\fP
+printf\fI format \fP\fR[ \fP,\fI $B<0(B-list \fP\fR] \fP\fR[ \fP>\fI $B<0(B \fP\fR]\fP
+return\fR [ \fP\fI$B<0(B \fP\fR]\fP
+next	#\fR $B$3$N9T$K4X$7$F;D$j$N%Q%?!<%s$r%9%-%C%W$7$^$9(B\fP
+nextfile	#\fR $B$3$N%U%!%$%k$N;D$j$r%9%-%C%W$7!"<!$r3+$-!"@hF,$+$i;O$a$^$9(B\fP
+delete\fI array\fP[\fI $B<0(B \fP]	#\fR $BG[NsMWAG$r:o=|$7$^$9(B\fP
+delete\fI array\fP	#\fR $BG[Ns$NA4$F$NMWAG$r:o=|$7$^$9(B\fP
+exit\fR [ \fP\fI$B<0(B \fP\fR]\fP	#\fR $BD>$A$K=*N;$7$^$9(B; $B%9%F!<%?%9$O(B \fP\fI$B<0(B\fP $B$G$9(B
 .fi
 .RE
 .EE
 .DT
 .PP
-Statements are terminated by
-semicolons, newlines or right braces.
-An empty
-.I expression-list
-stands for
-.BR $0 .
-String constants are quoted \&\f(CW"\ "\fR,
-with the usual C escapes recognized within.
-Expressions take on string or numeric values as appropriate,
-and are built using the operators
+$BJ8$O%;%_%3%m%s!"2~9T!"1&$+$C$3$G=*C<$5$l$^$9!#(B
+$B6u$N(B
+.I $B<0(B-$B%j%9%H(B
+$B$O(B
+.BR $0
+$B$r0UL#$7$^$9!#(B
+$BJ8;zNsDj?t$O(B \&\f(CW"\ "\fR $B$G$/$/$i$l!"$=$NCf$G$ODL>o$N(B C $B%(%9%1!<%W$,(B
+$B2r<a$5$l$^$9!#(B
+$B<0$OJ8;zNs$d?tCM$rE,@Z$K07$$!"$=$l$i$NJ8;zNs$d?tCM$O(B
 .B + \- * / % ^
-(exponentiation), and concatenation (indicated by white space).
-The operators
+($B;X?t(B) $B$d(B($B6uGr$G<($5$l$k(B) $B7k9g1i;;;R$r;H$C$FAH$_N)$F$i$l$^$9!#(B
 .B
 ! ++ \-\- += \-= *= /= %= ^= > >= < <= == != ?:
-are also available in expressions.
-Variables may be scalars, array elements
-(denoted
-.IB x  [ i ] )
-or fields.
-Variables are initialized to the null string.
-Array subscripts may be any string,
-not necessarily numeric;
-this allows for a form of associative memory.
-Multiple subscripts such as
+$B1i;;;R$b<0$NCf$G;HMQ2DG=$G$9!#(B
+$BJQ?t$O%9%+%i!<!"(B
+(
+.IB x  [ i ]
+$B$GI=8=$5$l$k(B) $BG[NsMWAG!"$^$?$O%U%#!<%k%I$G$9!#(B
+$BJQ?t$O%L%kJ8;zNs$G=i4|2=$5$l$^$9!#(B
+$BG[Ns$NE:;z$O?t;z$G$"$kI,MW$O$J$/!"$I$N$h$&$JJ8;zNs$G$"$C$F$b9=$$$^$;$s!#(B
+$B$3$N5!G=$K$h$jO"A[G[Ns$N7ABV$r$H$k$3$H$b2DG=$K$J$j$^$9!#(B
 .B [i,j,k]
-are permitted; the constituents are concatenated,
-separated by the value of
-.BR SUBSEP .
+$B$N$h$&$KJ#?t$NE:;z$rMQ$$$k$3$H$b2DG=$G$9!#(B
+$B9=@.MWAG$O(B
+.BR SUBSEP
+$B$NCM$r;H$C$F7k9g$5$l$^$9!#(B
 .PP
-The
 .B print
-statement prints its arguments on the standard output
-(or on a file if
+$BJ8$OM?$($i$l$?0z?t$r8=:_$N=PNO%U%#!<%k%I%;%Q%l!<%?$rMQ$$$F(B
+$BI8=`=PNO(B
+($B$^$?$O(B
 .BI > file
-or
+$B$"$k$$$O(B
 .BI >> file
-is present or on a pipe if
+$B$,;H$o$l$F$$$?>l9g$K$O%U%!%$%k!"(B
 .BI | cmd
-is present), separated by the current output field separator,
-and terminated by the output record separator.
+$B$,;H$o$l$F$$$?>l9g$K$O%Q%$%W(B) $B$K=PNO$7!"(B
+$B=PNO%l%3!<%I%;%Q%l!<%?$K$h$C$F=*C<$7$^$9!#(B
 .I file
-and
+$B$H(B
 .I cmd
-may be literal names or parenthesized expressions;
-identical string values in different statements denote
-the same open file.
-The
+$B$O%j%F%i%kL>$^$?$O4]3g8L$G$/$/$i$l$?<0$G$"$j!"(B
+$B0[$J$kJ8$G$NF10l$NJ8;zNsCM$OF1$8%U%!%$%k$r%*!<%W%s$9$k$3$H$r<($7$^$9!#(B
 .B printf
-statement formats its expression list according to the format
-(see
-.IR printf (3)) .
-The built-in function
+$BJ8$O0z?t$N%j%9%H$r=q<0(B (
+.IR printf (3)
+$B;2>H(B)
+$B$K=>$C$F@07A$7$^$9!#(B
+$BAH$_9~$_4X?t(B
 .BI close( expr )
-closes the file or pipe
-.IR expr .
-The built-in function
+$B$O%U%!%$%k$^$?$O%Q%$%W(B
+.IR expr
+$B$r%/%m!<%:$7$^$9!#(B
+$BAH$_9~$_4X?t(B
 .BI fflush( expr )
-flushes any buffered output for the file or pipe
-.IR expr .
+$B%P%C%U%!%j%s%0$5$l$F$$$k%U%!%$%k$^$?$O%Q%$%W(B
+.IR expr
+$B$r%U%i%C%7%e$7$^$9!#(B
 .PP
-The mathematical functions
+$B?t3X4X?t(B
 .BR exp ,
 .BR log ,
 .BR sqrt ,
 .BR sin ,
 .BR cos ,
-and
 .BR atan2 
-are built in.
-Other built-in functions:
+$B$OAH$_9~$_$N$b$N$G$9!#(B
+$B$=$NB>$NAH$_9~$_4X?t(B:
 .TF length
 .TP
 .B length
-the length of its argument
-taken as a string,
-or of
+$B0z?t$^$?$O(B
+$B0z?t$,$J$+$C$?>l9g$K$O(B
 .B $0
-if no argument.
+$B$rJ8;zNs$H$7$FB*$($?D9$5!#(B
 .TP
 .B rand
-random number on (0,1)
+(0,1) $B$NMp?t(B
 .TP
 .B srand
-sets seed for
 .B rand
-and returns the previous seed.
+$BMQ$N<o$r@_Dj$7!"0JA0$N<o$rJV$7$^$9!#(B
 .TP
 .B int
-truncates to an integer value
+$B@0?tCM$X@Z$j<N$F(B
 .TP
 .BI substr( s , " m" , " n\fB)
-the
-.IR n -character
-substring of
 .I s
-that begins at position
-.IR m 
-counted from 1.
+$B$N(B 1 $B$+$i?t$($F(B
+.IR m
+$BHVL\$N0LCV$+$i(B
+.IR n -$BJ8;z(B
+$B$NItJ,J8;zNs!#(B
 .TP
 .BI index( s , " t" )
-the position in
 .I s
-where the string
+$BCf$NJ8;zNs(B
 .I t
-occurs, or 0 if it does not.
+$B$,8=$l$k0LCV!"8=$l$J$+$C$?>l9g$K$O(B 0$B!#(B
 .TP
 .BI match( s , " r" )
-the position in
 .I s
-where the regular expression
+$BCf$N@55,I=8=(B
 .I r
-occurs, or 0 if it does not.
-The variables
+$B$,8=$l$k0LCV!"8=$l$J$+$C$?>l9g$K$O(B 0$B!#(B
+$BJQ?t(B
 .B RSTART
-and
+$B$H(B
 .B RLENGTH
-are set to the position and length of the matched string.
+$B$K%^%C%A$7$?J8;zNs$N0LCV$HD9$5$,%;%C%H$5$l$^$9!#(B
 .TP
 .BI split( s , " a" , " fs\fB)
-splits the string
+$BJ8;zNs(B
 .I s
-into array elements
+$B$rG[NsMWAG(B
 .IB a [1] ,
 .IB a [2] ,
 \&...,
 .IB a [ n ] ,
-and returns
-.IR n .
-The separation is done with the regular expression
+$B$KJ,3d$7!"(B
+.IR n
+$B$rJV$7$^$9!#(B
+$BJ,3d$O@55,I=8=(B
 .I fs
-or with the field separator
-.B FS
-if
+$B$^$?$O(B
 .I fs
-is not given.
-An empty string as field separator splits the string
-into one array element per character.
+$B$,M?$($i$l$J$+$C$?>l9g$K$O%U%#!<%k%I%;%Q%l!<%?(B
+.B FS
+$B$K$h$C$F9T$o$l$^$9!#(B
+$B%U%#!<%k%I%;%Q%l!<%?$,6u$NJ8;zNs$@$C$?>l9g!"(B
+$BJ8;zNs$O(B1$BJ8;zC10L$GG[NsMWAG$XJ,3d$5$l$^$9!#(B
 .TP
 .BI sub( r , " t" , " s\fB)
-substitutes
-.I t
-for the first occurrence of the regular expression
+$BJ8;zNs(B
+.IR s
+$BCf$K:G=i$K8=$l$?@55,I=8=(B
 .I r
-in the string
-.IR s .
-If
+$B$r(B
+.I t
+$B$KCV49$7$^$9!#(B
 .I s
-is not given,
+$B$,M?$($i$l$J$+$C$?>l9g$K$O!"(B
 .B $0
-is used.
+$B$,MQ$$$i$l$^$9!#(B
 .TP
 .B gsub
-same as
 .B sub
-except that all occurrences of the regular expression
-are replaced;
+$B$HF1$8$G$9$,!"8=$l$?A4$F$N@55,I=8=$,CV49$5$l$^$9!#(B
 .B sub
-and
+$B$H(B
 .B gsub
-return the number of replacements.
+$B$OCV49$7$??t$rJV$7$^$9!#(B
 .TP
 .BI sprintf( fmt , " expr" , " ...\fB )
-the string resulting from formatting
+$B=q<0(B
+.I fmt
+$B$K$7$?$,$C$F(B
 .I expr ...
-according to the
+$B$r(B
 .IR printf (3)
-format
-.I fmt
+$B$G@07A$7$?7k2L$NJ8;zNs(B
 .TP
 .BI system( cmd )
-executes
 .I cmd
-and returns its exit status
+$B$r<B9T$7$F=*N;>uBV$rJV5Q(B
 .TP
 .BI tolower( str )
-returns a copy of
 .I str
-with all upper-case characters translated to their
-corresponding lower-case equivalents.
+$BCf$NA4$F$NBgJ8;z$rBP1~$9$kEy2A$N>.J8;z$KJQ49$7$?%3%T!<$rJV$7$^$9!#(B
 .TP
 .BI toupper( str )
-returns a copy of
 .I str
-with all lower-case characters translated to their
-corresponding upper-case equivalents.
+$BCf$NA4$F$N>.J8;z$rBP1~$9$kEy2A$NBgJ8;z$KJQ49$7$?%3%T!<$rJV$7$^$9!#(B
 .PD
 .PP
-The ``function''
+``$B4X?t(B''
 .B getline
-sets
+$B$O8=:_$NF~NO%U%!%$%k$+$i<!$N%l%3!<%I$r(B
 .B $0
-to the next input record from the current input file;
+$B$K@_Dj$7$^$9!#(B
 .B getline
 .BI < file
-sets
+$B$O(B
+.IR file
+$B$+$i<!$N%l%3!<%I$r(B
 .B $0
-to the next record from
-.IR file .
+$B$K@_Dj$7$^$9!#(B
 .B getline
 .I x
-sets variable
+$B$N>l9g$OBe$o$j$KJQ?t(B
 .I x
-instead.
-Finally,
+$B$K@_Dj$7$^$9!#(B
+$B:G8e$K!"(B
 .IB cmd " | getline
-pipes the output of
+$B$G$O(B
 .I cmd
-into
-.BR getline ;
-each call of
+$B$N=PNO$r(B
+.BR getline
+$B$K%Q%$%W$7!"(B
 .B getline
-returns the next line of output from
-.IR cmd .
-In all cases,
+$B$N$=$l$>$l$N8F$S=P$7$O(B
+.IR cmd
+$B$N=PNO$+$i<!$N9T$rJV$7$^$9!#(B
+$BA4$F$N>l9g$K$*$$$F!"(B
 .B getline
-returns 1 for a successful input,
-0 for end of file, and \-1 for an error.
-.PP
-Patterns are arbitrary Boolean combinations
-(with
-.BR "! || &&" )
-of regular expressions and
-relational expressions.
-Regular expressions are as in
-.IR egrep ; 
-see
-.IR grep (1).
-Isolated regular expressions
-in a pattern apply to the entire line.
-Regular expressions may also occur in
-relational expressions, using the operators
+$B$OF~NO$K@.8y$9$k$H(B 1 $B$rJV$7!"(B
+$B%U%!%$%k$N=*C<$KC#$9$k$H(B 0 $B$rJV$7!"(B
+$B%(%i!<$K$J$k$H(B \-1 $B$rJV$7$^$9!#(B
+.PP
+$B%Q%?!<%s$OG$0U$N?t$N@55,I=8=$d4X78<0$N(B
+(
+.BR "! || &&"
+$B$K$h$k(B) $BO@M}E*AH$_9g$o$;$G$9!#(B
+$B@55,I=8=$O(B
+.IR egrep
+$B$N$=$l$HF1$8$G$9!#(B
+.IR grep (1)
+$B$r;2>H$7$F$/$@$5$$!#(B
+$B%Q%?!<%sCf$NC1FH(B (isolated) $B@55,I=8=$O9TA4BN$K$+$+$j$^$9!#(B
+$B@55,I=8=$O(B
 .BR ~
-and
-.BR !~ .
+$B$d(B
+.BR !~
+$B1i;;;R$rMQ$$$F!"4X78<0$NCf$G$b;H$($^$9!#(B
 .BI / re /
-is a constant regular expression;
-any string (constant or variable) may be used
-as a regular expression, except in the position of an isolated regular expression
-in a pattern.
-.PP
-A pattern may consist of two patterns separated by a comma;
-in this case, the action is performed for all lines
-from an occurrence of the first pattern
-though an occurrence of the second.
+$B$OJQ2=$7$J$$@55,I=8=$G$9!#(B
+$B%Q%?!<%sCf$NC1FH@55,I=8=$H$J$k>l=j0J30$G$O!"(B
+$B$I$N$h$&$JJ8;zNs(B ($BDj?t$^$?$OJQ?t(B) $B$G$"$C$F$b@55,I=8=$H$7$F;H$($^$9!#(B
+.PP
+$B%Q%?!<%s$O%+%s%^$G(B 2 $B$D$N%Q%?!<%s$K6h@Z$k$3$H$,$G$-$^$9!#(B
+$B$3$N>l9g!"(B1$B$DL\$N%Q%?!<%s$H(B2$B$DL\$N%Q%?!<%s$N4V$K$"$k9T$KBP$7$F(B
+$B%"%/%7%g%s$,$J$5$l$^$9!#(B
 .PP
-A relational expression is one of the following:
+$B4X78<0$O0J2<$N$&$A$N$I$l$+$G$9(B:
 .IP
-.I expression matchop regular-expression
+.I $B<0(B matchop $B@55,I=8=(B
 .br
-.I expression relop expression
+.I $B<0(B relop $B<0(B
 .br
-.IB expression " in " array-name
+.IB $B<0(B " in " $BG[NsL>(B
 .br
-.BI ( expr , expr,... ") in " array-name
+.BI ( $B<0(B , $B<0(B,... ") in " $BG[NsL>(B
 .PP
-where a relop is any of the six relational operators in C,
-and a matchop is either
+$B$3$3$G(B relop $B$O(B C $B$G$N(B 6$B$D$N4X781i;;;R$N$I$l$+!"(Bmatchop $B$O(B
 .B ~
-(matches)
+($B%^%C%A$9$k(B)
 or
 .B !~
-(does not match).
-A conditional is an arithmetic expression,
-a relational expression,
-or a Boolean combination
-of these.
+($B%^%C%A$7$J$$(B) $B$N$&$A!"$I$A$i$+!#(B
+$B>r7o$O?t<0!"4X78<0!"$^$?$O$3$l$i$NO@M}E*AH$_9g$o$;$N$I$l$+$G$9!#(B
 .PP
-The special patterns
+$BFCJL$J%Q%?!<%s(B
 .B BEGIN
-and
+$B$H(B
 .B END
-may be used to capture control before the first input line is read
-and after the last.
+$B$O:G=i$N9T$rFI$`A0$H:G8e$N9T$rFI$s$@$"$H$K@)8f$r$D$+$`$N$K;HMQ$G$-$^$9!#(B
 .B BEGIN
-and
+$B$H(B
 .B END
-do not combine with other patterns.
+$B$OB>$N%Q%?!<%s$HAH$_9g$o$;$k$3$H$O$G$-$^$;$s!#(B
 .PP
-Variable names with special meanings:
+$BFCJL$J0UL#$r;}$DJQ?tL>(B:
 .TF FILENAME
 .TP
 .B CONVFMT
-conversion format used when converting numbers
-(default
+$B?tCM$rJQ49$9$k:]$K;HMQ$9$kJQ49=q<0(B
+($B%G%U%)%k%H$G$O(B
 .BR "%.6g" )
 .TP
 .B FS
-regular expression used to separate fields; also settable
-by option
-.BI \-F fs.
+$B%U%#!<%k%IJ,N%$K;HMQ$9$k@55,I=8=!#(B
+.BI \-F fs
+$B%*%W%7%g%s$G$b;XDj$G$-$^$9!#(B
 .TP
 .BR NF
-number of fields in the current record
+$B8=:_$N%l%3!<%I$G$N%U%#!<%k%I?t(B
 .TP
 .B NR
-ordinal number of the current record
+$B8=:_$N%l%3!<%I$N=x?t(B
 .TP
 .B FNR
-ordinal number of the current record in the current file
+$B8=:_$N%U%!%$%k$G$N8=:_$N%l%3!<%I$N=x?t(B
 .TP
 .B FILENAME
-the name of the current input file
+$B8=:_$NF~NO%U%!%$%k$NL>>N(B
 .TP
 .B RS
-input record separator (default newline)
+$BF~NO%l%3!<%I%;%Q%l!<%?(B ($B%G%U%)%k%H$G$O2~9T(B)
 .TP
 .B OFS
-output field separator (default blank)
+$B=PNO%U%#!<%k%I%;%Q%l!<%?(B ($B%G%U%)%k%H$G$O6uGr(B)
 .TP
 .B ORS
-output record separator (default newline)
+$B=PNO%l%3!<%I%;%Q%l!<%?(B ($B%G%U%)%k%H$G$O2~9T(B)
 .TP
 .B OFMT
-output format for numbers (default
+$B?tCM$N=PNO=q<0(B ($B%G%U%)%k%H$G$O(B
 .BR "%.6g" )
 .TP
 .B SUBSEP
-separates multiple subscripts (default 034)
+$BB?<!85G[Ns$N%;%Q%l!<%?(B ($B%G%U%)%k%H$G$O(B 034)
 .TP
 .B ARGC
-argument count, assignable
+$B0z?t$N%+%&%s%H!";XDj2DG=(B
 .TP
 .B ARGV
-argument array, assignable;
-non-null members are taken as filenames
+$B0z?t$NG[Ns!";XDj2DG=!#(B
+$B%L%k$G$J$$%a%s%P$O%U%!%$%kL>$H$7$F07$o$l$^$9(B
 .TP
 .B ENVIRON
-array of environment variables; subscripts are names.
+$B4D6-JQ?t$NG[Ns!#E:;z$OL>A0$G$9!#(B
 .PD
 .PP
-Functions may be defined (at the position of a pattern-action statement) thus:
+$B4X?t$O0J2<$N$h$&$K(B ($B%Q%?!<%s(B-$B%"%/%7%g%sJ8$N0LCV$G(B) $BDj5A$G$-$^$9(B:
 .IP
 .B
 function foo(a, b, c) { ...; return x }
 .PP
-Parameters are passed by value if scalar and by reference if array name;
-functions may be called recursively.
-Parameters are local to the function; all other variables are global.
-Thus local variables may be created by providing excess parameters in
-the function definition.
-.SH EXAMPLES
+$B%Q%i%a!<%?$O%9%+%i!<$N>l9g$OCM$G!"G[NsL>$N>l9g$O;2>H$GEO$5$l$^$9!#(B
+$B4X?t$O:F5"E*$K8F$S=P$72DG=$G$9!#(B
+$B%Q%i%a!<%?$O4X?t%m!<%+%k$G!"$=$l0J30$NJQ?t$O%0%m!<%P%k$G$9!#(B
+$B%m!<%+%kJQ?t$O4X?tDj5A;~$KM>J,$J%Q%i%a!<%?$r2C$($k$3$H$G:n@.$G$-$^$9!#(B
+.SH $B;HMQNc(B
 .TP
 .EX
 length($0) > 72
 .EE
-Print lines longer than 72 characters.
+72$BJ8;z$h$jD9$$9T$rI=<($7$^$9!#(B
 .TP
 .EX
 { print $2, $1 }
 .EE
-Print first two fields in opposite order.
+$B;O$a$N(B 2 $B%U%#!<%k%I$r5U=g$GI=<($7$^$9!#(B
 .PP
 .EX
 BEGIN { FS = ",[ \et]*|[ \et]+" }
@@ -486,7 +462,7 @@
 .EE
 .ns
 .IP
-Same, with input fields separated by comma and/or blanks and tabs.
+$BF1$8$G$9$,!"%U%#!<%k%I$r%+%s%^!"6uGr!"%?%V$G6h@Z$j$^$9!#(B
 .PP
 .EX
 .nf
@@ -496,22 +472,22 @@
 .EE
 .ns
 .IP
-Add up first column, print sum and average.
+1$B$DL\$N%+%i%`$rB-$7$F$$$-!"9g7W$HJ?6Q$rI=<($7$^$9!#(B
 .TP
 .EX
 /start/, /stop/
 .EE
-Print all lines between start/stop pairs.
+start $B$H(B stop $B$NAH$_9g$o$;$N4V$N9T$rI=<($7$^$9!#(B
 .PP
 .EX
 .nf
-BEGIN	{	# Simulate echo(1)
+BEGIN	{	# echo(1) $B$r%7%_%e%l!<%H$7$^$9(B
 	for (i = 1; i < ARGC; i++) printf "%s ", ARGV[i]
 	printf "\en"
 	exit }
 .fi
 .EE
-.SH SEE ALSO
+.SH $B4XO"9`L\(B
 .IR lex (1), 
 .IR sed (1)
 .br
@@ -519,11 +495,11 @@
 .I
 The AWK Programming Language,
 Addison-Wesley, 1988.  ISBN 0-201-07981-X
-.SH BUGS
-There are no explicit conversions between numbers and strings.
-To force an expression to be treated as a number add 0 to it;
-to force it to be treated as a string concatenate
-\&\f(CW""\fP to it.
+.SH $B%P%0(B
+$B?tCM$HJ8;z$H$N4V$NL@<(E*$JJQ49$O$"$j$^$;$s!#(B
+$B<0$r6/@)E*$K?tCM$H$7$F07$o$;$k$K$O!"(B0 $B$rB-$7$F$/$@$5$$!#(B
+$B<0$r6/@)E*$KJ8;z$H$7$F07$o$;$k$K$O!"(B
+\&\f(CW""\fP
+$B$r7k9g$7$F$/$@$5$$!#(B
 .br
-The scope rules for variables in functions are a botch;
-the syntax is worse.
+$B4X?t$K$*$1$kJQ?t$N%9%3!<%W5,B'$OIT:Y9)$G$9!#J8K!$O$5$i$K$R$I$$$G$9!#(B

--
$B1n4]K'I'(B (Yoshihiko SARUMARU)
mail: mistral@imasy.or.jp       web: http://www.imasy.or.jp/~mistral/
