1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
\entry {What is awk}{1}{What is {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}
\entry {Uses of awk}{1}{Uses of {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}
\entry {Acronym}{1}{Acronym}
\entry {History of awk}{1}{History of {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}
\entry {Manual, using this}{9}{Manual, using this}
\entry {Using this manual}{9}{Using this manual}
\entry {Language, awk}{9}{Language, {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}
\entry {Program, awk}{9}{Program, {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}
\entry {awk language}{9}{{\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} language}
\entry {awk program}{9}{{\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} program}
\entry {Input file, sample}{9}{Input file, sample}
\entry {Sample input file}{9}{Sample input file}
\entry {`{\fam \ttfam \tentt \rawbackslash \frenchspacing BBS-list}'\hbox {} file}{9}{`{\fam \ttfam \tentt \rawbackslash \frenchspacing BBS-list}'\hbox {} file}
\entry {`{\fam \ttfam \tentt \rawbackslash \frenchspacing inventory-shipped}'\hbox {} file}{10}{`{\fam \ttfam \tentt \rawbackslash \frenchspacing inventory-shipped}'\hbox {} file}
\entry {Script, definition of}{11}{Script, definition of}
\entry {Rule, definition of}{11}{Rule, definition of}
\entry {Pattern, definition of}{11}{Pattern, definition of}
\entry {Action, definition of}{11}{Action, definition of}
\entry {Program, definition of}{11}{Program, definition of}
\entry {Basic function of gawk}{11}{Basic function of {\fam \ttfam \tentt \rawbackslash \frenchspacing gawk}\hbox {}}
\entry {Action, curly braces}{11}{Action, curly braces}
\entry {Curly braces}{11}{Curly braces}
\entry {print $0}{11}{{\fam \ttfam \tentt \rawbackslash \frenchspacing print $0}\hbox {}}
\entry {Action, default}{11}{Action, default}
\entry {Pattern, default}{11}{Pattern, default}
\entry {Default action}{11}{Default action}
\entry {Default pattern}{11}{Default pattern}
\entry {How gawk works}{12}{How gawk works}
\entry {Command line formats}{14}{Command line formats}
\entry {Running gawk programs}{14}{Running gawk programs}
\entry {Single quotes, why they are needed}{15}{Single quotes, why they are needed}
\entry {Standard input}{15}{Standard input}
\entry {Input, standard}{15}{Input, standard}
\entry {Case sensitivity and gawk}{16}{Case sensitivity and gawk}
\entry {Pattern, case sensitive}{16}{Pattern, case sensitive}
\entry {running long programs}{16}{running long programs}
\entry {-f option}{16}{-f option}
\entry {program file}{16}{program file}
\entry {file, awk program}{16}{file, {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} program}
\entry {Executable Scripts}{17}{Executable Scripts}
\entry {Scripts, Executable}{17}{Scripts, Executable}
\entry {Self contained Programs}{17}{Self contained Programs}
\entry {Program, Self contained}{17}{Program, Self contained}
\entry {#!}{17}{#!}
\entry {Shell Scripts}{17}{Shell Scripts}
\entry {Scripts, Shell}{17}{Scripts, Shell}
\entry {Command Line}{18}{Command Line}
\entry {Invocation of gawk}{18}{Invocation of {\fam \ttfam \tentt \rawbackslash \frenchspacing gawk}\hbox {}}
\entry {Arguments, Command Line}{18}{Arguments, Command Line}
\entry {Options, Command Line}{18}{Options, Command Line}
\entry {Multiple passes over data}{19}{Multiple passes over data}
\entry {Passes, Multiple}{19}{Passes, Multiple}
\entry {Comments}{19}{Comments}
\entry {Use of comments}{19}{Use of comments}
\entry {Documenting awk programs}{19}{Documenting {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} programs}
\entry {Programs, documenting}{19}{Programs, documenting}
\entry {Backslash Continuation}{20}{Backslash Continuation}
\entry {Continuing statements on the next line}{20}{Continuing statements on the next line}
\entry {Multiple statements on one line}{21}{Multiple statements on one line}
\entry {When to use awk}{21}{When to use {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}
\entry {Applications of awk}{21}{Applications of {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}
\entry {Emacs Lisp}{21}{Emacs Lisp}
\entry {Reading files, general}{23}{Reading files, general}
\entry {Input, general}{23}{Input, general}
\entry {Standard input}{23}{Standard input}
\entry {Input, standard}{23}{Input, standard}
\entry {General input}{23}{General input}
\entry {Record separator, RS}{23}{Record separator, {\fam \ttfam \tentt \rawbackslash \frenchspacing RS}\hbox {}}
\entry {Changing the record separator}{23}{Changing the record separator}
\entry {Number of records, NR}{24}{Number of records, {\fam \ttfam \tentt \rawbackslash \frenchspacing NR}\hbox {}}
\entry {Number of records, FNR}{24}{Number of records, {\fam \ttfam \tentt \rawbackslash \frenchspacing FNR}\hbox {}}
\entry {Examining fields}{24}{Examining fields}
\entry {Fields}{24}{Fields}
\entry {Accessing fields}{24}{Accessing fields}
\entry {$ (field operator)}{24}{{\fam \ttfam \tentt \rawbackslash \frenchspacing $}\hbox {} (field operator)}
\entry {Operators, $}{24}{Operators, {\fam \ttfam \tentt \rawbackslash \frenchspacing $}\hbox {}}
\entry {$NF, last field in record}{25}{{\fam \ttfam \tentt \rawbackslash \frenchspacing $NF}\hbox {}, last field in record}
\entry {Number of fields, NF}{25}{Number of fields, {\fam \ttfam \tentt \rawbackslash \frenchspacing NF}\hbox {}}
\entry {Fields, negative-numbered}{26}{Fields, negative-numbered}
\entry {Negative-numbered fields}{26}{Negative-numbered fields}
\entry {Field, changing contents of}{27}{Field, changing contents of}
\entry {Changing contents of a field}{27}{Changing contents of a field}
\entry {Fields, semantics of}{28}{Fields, semantics of}
\entry {Fields, separating}{28}{Fields, separating}
\entry {Field separator, FS}{28}{Field separator, {\fam \ttfam \tentt \rawbackslash \frenchspacing FS}\hbox {}}
\entry {Separator character, choice of}{29}{Separator character, choice of}
\entry {Field separator, choice of}{29}{Field separator, choice of}
\entry {Regular expressions, field separators and}{29}{Regular expressions, field separators and}
\entry {Field separator, setting on command line}{29}{Field separator, setting on command line}
\entry {Command line, setting FS on}{29}{Command line, setting {\fam \ttfam \tentt \rawbackslash \frenchspacing FS}\hbox {} on}
\entry {Multiple line records}{31}{Multiple line records}
\entry {Input, multiple line records}{31}{Input, multiple line records}
\entry {Reading files, multiple line records}{31}{Reading files, multiple line records}
\entry {Records, multiple line}{31}{Records, multiple line}
\entry {Input, getline function}{32}{Input, {\fam \ttfam \tentt \rawbackslash \frenchspacing getline}\hbox {} function}
\entry {Reading files, getline function}{32}{Reading files, {\fam \ttfam \tentt \rawbackslash \frenchspacing getline}\hbox {} function}
\entry {close statement for input}{36}{{\fam \ttfam \tentt \rawbackslash \frenchspacing close}\hbox {} statement for input}
\entry {Printing, general}{39}{Printing, general}
\entry {Output}{39}{Output}
\entry {print statement}{39}{{\fam \ttfam \tentt \rawbackslash \frenchspacing print}\hbox {} statement}
\entry {Output field separator, OFS}{41}{Output field separator, {\fam \ttfam \tentt \rawbackslash \frenchspacing OFS}\hbox {}}
\entry {Output record separator, ORS}{41}{Output record separator, {\fam \ttfam \tentt \rawbackslash \frenchspacing ORS}\hbox {}}
\entry {Output redirection}{42}{Output redirection}
\entry {Redirection of output}{42}{Redirection of output}
\entry {{\fam \ttfam \tentt \gtr }}{42}{{\fam \ttfam \tentt \rawbackslash \frenchspacing {\fam \ttfam \tentt \gtr }}\hbox {}}
\entry {{\fam \ttfam \tentt \gtr }{\fam \ttfam \tentt \gtr }}{42}{{\fam \ttfam \tentt \rawbackslash \frenchspacing {\fam \ttfam \tentt \gtr }{\fam \ttfam \tentt \gtr }}\hbox {}}
\entry {{\fam \ttfam \tentt \char '174}}{42}{{\fam \ttfam \tentt \rawbackslash \frenchspacing {\fam \ttfam \tentt \char '174}}\hbox {}}
\entry {Pipes for output}{42}{Pipes for output}
\entry {Output, piping}{42}{Output, piping}
\entry {close statement for output}{43}{{\fam \ttfam \tentt \rawbackslash \frenchspacing close}\hbox {} statement for output}
\entry {Closing files and pipes}{43}{Closing files and pipes}
\entry {Formatted output}{44}{Formatted output}
\entry {Output, formatted}{44}{Output, formatted}
\entry {printf statement, format of}{45}{{\fam \ttfam \tentt \rawbackslash \frenchspacing printf}\hbox {} statement, format of}
\entry {Format string}{45}{Format string}
\entry {printf, format-control characters}{45}{{\fam \ttfam \tentt \rawbackslash \frenchspacing printf}\hbox {}, format-control characters}
\entry {Format specifier}{45}{Format specifier}
\entry {printf, modifiers}{46}{{\fam \ttfam \tentt \rawbackslash \frenchspacing printf}\hbox {}, modifiers}
\entry {Modifiers (in format specifiers)}{46}{Modifiers (in format specifiers)}
\entry {One-liners}{49}{One-liners}
\entry {Patterns, definition of}{51}{Patterns, definition of}
\entry {Patterns, types of}{51}{Patterns, types of}
\entry {Empty pattern}{51}{Empty pattern}
\entry {Pattern, empty}{51}{Pattern, empty}
\entry {Pattern, regular expressions}{52}{Pattern, regular expressions}
\entry {Regexp}{52}{Regexp}
\entry {Regular expressions as patterns}{52}{Regular expressions as patterns}
\entry {Regular expression matching operators}{52}{Regular expression matching operators}
\entry {String-matching operators}{52}{String-matching operators}
\entry {Operators, string-matching}{52}{Operators, string-matching}
\entry {Operators, regular expression matching}{52}{Operators, regular expression matching}
\entry {regexp search operators}{52}{regexp search operators}
\entry {Computed Regular Expressions}{52}{Computed Regular Expressions}
\entry {Regular Expressions, Computed}{52}{Regular Expressions, Computed}
\entry {Dynamic Regular Expressions}{52}{Dynamic Regular Expressions}
\entry {Regular Expressions, Dynamic}{52}{Regular Expressions, Dynamic}
\entry {Metacharacters}{53}{Metacharacters}
\entry {Regular expression, metacharacters}{53}{Regular expression, metacharacters}
\entry {Comparison expressions as patterns}{55}{Comparison expressions as patterns}
\entry {Pattern, comparison expressions}{55}{Pattern, comparison expressions}
\entry {Relational operators}{55}{Relational operators}
\entry {Operators, relational}{55}{Operators, relational}
\entry {Range pattern}{56}{Range pattern}
\entry {patterns, range}{56}{patterns, range}
\entry {BEGIN, special pattern}{57}{{\fam \ttfam \tentt \rawbackslash \frenchspacing BEGIN}\hbox {}, special pattern}
\entry {Patterns, BEGIN}{57}{Patterns, {\fam \ttfam \tentt \rawbackslash \frenchspacing BEGIN}\hbox {}}
\entry {END, special pattern}{57}{{\fam \ttfam \tentt \rawbackslash \frenchspacing END}\hbox {}, special pattern}
\entry {Patterns, END}{57}{Patterns, {\fam \ttfam \tentt \rawbackslash \frenchspacing END}\hbox {}}
\entry {Patterns, boolean}{58}{Patterns, boolean}
\entry {Boolean patterns}{58}{Boolean patterns}
\entry {Conditional Patterns}{59}{Conditional Patterns}
\entry {Patterns, Conditional}{59}{Patterns, Conditional}
\entry {Ternary Operator}{59}{Ternary Operator}
\entry {Operator, Ternary}{59}{Operator, Ternary}
\entry {Action, general}{61}{Action, general}
\entry {Curly braces}{61}{Curly braces}
\entry {Action, curly braces}{61}{Action, curly braces}
\entry {Action, separating statements}{61}{Action, separating statements}
\entry {Expressions}{61}{Expressions}
\entry {Statements}{61}{Statements}
\entry {Compound statements}{61}{Compound statements}
\entry {Function definitions}{61}{Function definitions}
\entry {Constants, types of}{63}{Constants, types of}
\entry {String constants}{63}{String constants}
\entry {String value}{63}{String value}
\entry {Numerical constant}{63}{Numerical constant}
\entry {Numerical value}{63}{Numerical value}
\entry {Differences between gawk and awk}{63}{Differences between {\fam \ttfam \tentt \rawbackslash \frenchspacing gawk}\hbox {} and {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}
\entry {Escape sequence notation}{63}{Escape sequence notation}
\entry {Variables, user-defined}{64}{Variables, user-defined}
\entry {User-defined variables}{64}{User-defined variables}
\entry {Built-in variables}{64}{Built-in variables}
\entry {Variables, built-in}{64}{Variables, built-in}
\entry {Arithmetic operators}{65}{Arithmetic operators}
\entry {Operators, arithmetic}{65}{Operators, arithmetic}
\entry {Mod function, semantics of}{65}{Mod function, semantics of}
\entry {Differences between gawk and awk}{65}{Differences between {\fam \ttfam \tentt \rawbackslash \frenchspacing gawk}\hbox {} and {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}
\entry {String operators}{65}{String operators}
\entry {Operators, string}{65}{Operators, string}
\entry {Concatenation}{65}{Concatenation}
\entry {Comparison expressions}{66}{Comparison expressions}
\entry {Expressions, comparison}{66}{Expressions, comparison}
\entry {Relational operators}{66}{Relational operators}
\entry {Operators, relational}{66}{Operators, relational}
\entry {Expressions, boolean}{67}{Expressions, boolean}
\entry {Boolean expressions}{67}{Boolean expressions}
\entry {Operators, boolean}{67}{Operators, boolean}
\entry {Boolean operators}{67}{Boolean operators}
\entry {Assignment operators}{68}{Assignment operators}
\entry {Operators, assignment}{68}{Operators, assignment}
\entry {Lvalue}{68}{Lvalue}
\entry {Increment operators}{70}{Increment operators}
\entry {Operators, increment}{70}{Operators, increment}
\entry {Conversion of strings and numbers}{71}{Conversion of strings and numbers}
\entry {Conditional expression}{72}{Conditional expression}
\entry {Expression, conditional}{72}{Expression, conditional}
\entry {Function call}{73}{Function call}
\entry {Calling a function}{73}{Calling a function}
\entry {Arguments in function call}{73}{Arguments in function call}
\entry {Statements}{75}{Statements}
\entry {if statement}{75}{{\fam \ttfam \tentt \rawbackslash \frenchspacing if}\hbox {} statement}
\entry {while statement}{76}{{\fam \ttfam \tentt \rawbackslash \frenchspacing while}\hbox {} statement}
\entry {Loop}{76}{Loop}
\entry {Body of a loop}{76}{Body of a loop}
\entry {for statement}{77}{{\fam \ttfam \tentt \rawbackslash \frenchspacing for}\hbox {} statement}
\entry {break statement}{79}{{\fam \ttfam \tentt \rawbackslash \frenchspacing break}\hbox {} statement}
\entry {Loops, breaking out of}{79}{Loops, breaking out of}
\entry {continue statement}{80}{{\fam \ttfam \tentt \rawbackslash \frenchspacing continue}\hbox {} statement}
\entry {next statement}{81}{{\fam \ttfam \tentt \rawbackslash \frenchspacing next}\hbox {} statement}
\entry {exit statement}{82}{{\fam \ttfam \tentt \rawbackslash \frenchspacing exit}\hbox {} statement}
\entry {Arrays}{83}{Arrays}
\entry {Arrays, definition of}{83}{Arrays, definition of}
\entry {Associative arrays}{83}{Associative arrays}
\entry {Array reference}{85}{Array reference}
\entry {Element of array}{85}{Element of array}
\entry {Reference to array}{85}{Reference to array}
\entry {Arrays, determining presence of elements}{85}{Arrays, determining presence of elements}
\entry {Array assignment}{86}{Array assignment}
\entry {Element assignment}{86}{Element assignment}
\entry {for (x in \dots {})}{87}{{\fam \ttfam \tentt \rawbackslash \frenchspacing for (x in \dots {})}\hbox {}}
\entry {Arrays, special for statement}{87}{Arrays, special {\fam \ttfam \tentt \rawbackslash \frenchspacing for}\hbox {} statement}
\entry {Scanning an array}{87}{Scanning an array}
\entry {delete statement}{88}{{\fam \ttfam \tentt \rawbackslash \frenchspacing delete}\hbox {} statement}
\entry {Deleting elements of arrays}{88}{Deleting elements of arrays}
\entry {Removing elements of arrays}{88}{Removing elements of arrays}
\entry {Arrays, deleting an element}{88}{Arrays, deleting an element}
\entry {Subscripts, multi-dimensional in arrays}{89}{Subscripts, multi-dimensional in arrays}
\entry {Arrays, multi-dimensional subscripts}{89}{Arrays, multi-dimensional subscripts}
\entry {Built-in functions, list of}{93}{Built-in functions, list of}
\entry {Interaction of awk with other programs}{98}{Interaction of {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} with other programs}
\entry {User-defined functions}{99}{User-defined functions}
\entry {Functions, user-defined}{99}{Functions, user-defined}
\entry {return statement}{102}{{\fam \ttfam \tentt \rawbackslash \frenchspacing return}\hbox {} statement}
\entry {Special variables, user modifiable}{105}{Special variables, user modifiable}
|