summaryrefslogtreecommitdiff
path: root/static/v10/man1/awk.1
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-26 16:38:00 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-26 16:38:00 -0400
commit97d5c458cfa039d857301e1ca7d5af3beb37131d (patch)
treeb460cd850d0537eb71806ba30358840377b27688 /static/v10/man1/awk.1
parentb89dc2331a50c63f8b33272a5c4c61ab98abdaa3 (diff)
build: Better Build System
Diffstat (limited to 'static/v10/man1/awk.1')
-rw-r--r--static/v10/man1/awk.1452
1 files changed, 0 insertions, 452 deletions
diff --git a/static/v10/man1/awk.1 b/static/v10/man1/awk.1
deleted file mode 100644
index 7ac74960..00000000
--- a/static/v10/man1/awk.1
+++ /dev/null
@@ -1,452 +0,0 @@
-.TH AWK 1
-.CT 1 files prog_other
-.SH NAME
-awk \- pattern-directed scanning and processing language
-.SH SYNOPSIS
-.B awk
-[
-.BI -F fs
-]
-[
-.I prog
-]
-[
-.I file ...
-]
-.SH DESCRIPTION
-.I Awk
-scans each input
-.I file
-for lines that match any of a set of patterns specified literally in
-.IR prog
-or in a file
-specified as
-.B -f
-.IR file .
-With each pattern
-there can be an associated action that will be performed
-when a line of a
-.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
-.L -
-means the standard input.
-Any
-.IR file
-of the form
-.I var=value
-is treated as an assignment, not a filename.
-.PP
-An input line is made up of fields separated by white space,
-or by regular expression
-.BR FS .
-The fields are denoted
-.BR $1 ,
-.BR $2 ,
-\&...;
-.B $0
-refers to the entire line.
-.PP
-A pattern-action statement has the form
-.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.
-.PP
-An action is a sequence of statements.
-A statement can be one of the following:
-.PP
-.EX
-.ta \w'\f5delete array[expression]'u
-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)
-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
-delete\fI array\fP[\fI expression \fP] #\fR delete an array element\fP
-exit\fR [ \fP\fIexpression \fP\fR]\fP #\fR exit immediately; status is \fP\fIexpression\fP
-.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 \f5"\ "\fR,
-with the usual C escapes recognized within.
-Expressions take on string or numeric values as appropriate,
-and are built using the operators
-.B + - * / % ^
-(exponentiation), and concatenation (indicated by a blank).
-The operators
-.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
-.B [i,j,k]
-are permitted; the constituents are concatenated,
-separated by the value of
-.BR SUBSEP .
-.PP
-The
-.B print
-statement prints its arguments on the standard output
-(or on a file if
-.BI > file
-or
-.BI >> file
-is present or on a pipe if
-.BI | cmd
-is present), separated by the current output field separator,
-and terminated by the output record separator.
-.I file
-and
-.I cmd
-may be literal names or parenthesized expressions;
-identical string values in different statements denote
-the same open file.
-The
-.B printf
-statement formats its expression list according to the format
-(see
-.IR printf (3)).
-The built-in function
-.BI close( expr )
-closes the file or pipe
-.IR expr .
-.PP
-The customary functions
-.BR exp ,
-.BR log ,
-.BR sqrt ,
-.BR sin ,
-.BR cos ,
-.BR atan2
-are built in.
-Other built-in functions:
-.TF length
-.TP
-.B length
-the length of its argument
-taken as a string,
-or of
-.B $0
-if no argument.
-.TP
-.B rand
-random number on (0,1)
-.TP
-.B srand
-sets seed for
-.B rand
-.TP
-.B int
-truncates to an integer value
-.TP
-.BI substr( s , " m" , " n\fB)
-the
-.IR n -character
-substring of
-.I s
-that begins at position
-.IR m
-counted from 1.
-.TP
-.BI index( s , " t" )
-the position in
-.I s
-where the string
-.I t
-occurs, or 0 if it does not.
-.TP
-.BI match( s , " r" )
-the position in
-.I s
-where the regular expression
-.I r
-occurs, or 0 if it does not.
-The variables
-.B RSTART
-and
-.B RLENGTH
-are set to the position and length of the matched string.
-.TP
-.BI split( s , " a" , " fs\fB)
-splits the string
-.I s
-into array elements
-.IB a [1] ,
-.IB a [2] ,
-\&...,
-.IB a [ n ] ,
-and returns
-.IR n .
-The separation is done with the regular expression
-.I fs
-or with the field separator
-.B FS
-if
-.I fs
-is not given.
-.TP
-.BI sub( r , " t" , " s\fB)
-substitutes
-.I t
-for the first occurrence of the regular expression
-.I r
-in the string
-.IR s .
-If
-.I s
-is not given,
-.B $0
-is used.
-.TP
-.B gsub
-same as
-.B sub
-except that all occurrences of the regular expression
-are replaced;
-.B sub
-and
-.B gsub
-return the number of replacements.
-.TP
-.BI sprintf( fmt , " expr" , " ...\fB )
-the string resulting from formatting
-.I expr ...
-according to the
-.IR printf (3)
-format
-.I fmt
-.TP
-.BI system( cmd )
-executes
-.I cmd
-and returns its exit status
-.PD
-.PP
-The ``function''
-.B getline
-sets
-.B $0 to
-the next input record from the current input file;
-.B getline
-.BI < file
-sets
-.B $0
-to the next record from
-.IR file .
-.B getline
-.I x
-sets variable
-.I x
-instead.
-Finally,
-.IB cmd " | getline
-pipes the output of
-.I cmd
-into
-.BR getline ;
-each call of
-.B getline
-returns the next line of output from
-.IR cmd .
-In all cases,
-.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
-.BR ~
-and
-.BR !~ .
-.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.
-.PP
-A relational expression is one of the following:
-.IP
-.I expression matchop regular-expression
-.br
-.I expression relop expression
-.br
-.I expression in array-name
-.br
-.I (expr,expr,...) in array-name
-.PP
-where a relop is any of the six relational operators in C,
-and a matchop is either
-.B ~
-(matches)
-or
-.B !~
-(does not match).
-A conditional is an arithmetic expression,
-a relational expression,
-or a Boolean combination
-of these.
-.PP
-The special patterns
-.B BEGIN
-and
-.B END
-may be used to capture control before the first input line is read
-and after the last.
-.B BEGIN
-and
-.B END
-do not combine with other patterns.
-.PP
-Variable names with special meanings:
-.TF SUBSEP
-.TP
-.B FS
-regular expression used to separate fields; also settable
-by option
-.BI -F fs.
-.TP
-.BR NF
-number of fields in the current record
-.TP
-.B NR
-ordinal number of the current record
-.TP
-.B FNR
-ordinal number of the current record in the current file
-.TP
-.B FILENAME
-the name of the current input file
-.TP
-.B RS
-input record separator (default newline)
-.TP
-.B OFS
-output field separator (default blank)
-.TP
-.B ORS
-output record separator (default newline)
-.TP
-.B OFMT
-output format for numbers (default
-.BR "%.6g" )
-.TP
-.B SUBSEP
-separates multiple subscripts (default 034)
-.TP
-.B ARGC
-argument count, assignable
-.TP
-.B ARGV
-argument array, assignable;
-non-null members are taken as filenames
-.PD
-.PP
-Functions may be defined (at the position of a pattern-action statement) thus:
-.IP
-.L
-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.
-.SH EXAMPLES
-.TP
-.L
-length > 72
-Print lines longer than 72 characters.
-.TP
-.L
-{ print $2, $1 }
-Print first two fields in opposite order.
-.PP
-.EX
-BEGIN { FS = ",[ \et]*|[ \et]+" }
- { print $2, $1 }
-.EE
-.ns
-.IP
-Same, with input fields separated by comma and/or blanks and tabs.
-.PP
-.EX
- { s += $1 }
-END { print "sum is", s, " average is", s/NR }
-.EE
-.ns
-.IP
-Add up first column, print sum and average.
-.TP
-.L
-/start/, /stop/
-Print all lines between start/stop pairs.
-.PP
-.EX
-BEGIN { # Simulate echo(1)
- for (i = 1; i < ARGC; i++) printf "%s ", ARGV[i]
- printf "\en"
- exit }
-.EE
-.SH SEE ALSO
-.IR lex (1),
-.IR sed (1)
-.br
-A. V. Aho, B. W. Kernighan, P. J. Weinberger,
-.I
-Awk \- a Pattern Scanning and Processing Language (Programmer'sManual),
-CSTR 118, 1985
-.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
-\f5""\fP to it.
-.br
-The scope rules for variables in functions are a botch.
-.br
-.L -S
-and
-.L -R
-are flaky.