336 <strong>G<strong>AWK</strong></strong>: <strong>Effective</strong> <strong>AWK</strong> <strong>Programming</strong>--traditional option, --posix option and . . . 181--usage option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179--use-lc-numeric option. . . . . . . . . . . . . . . . . . . . . 181--version option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181--with-whiny-user-strftime configuration option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269-f option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 177-F option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 177-F option, -Ft sets FS to TAB . . . . . . . . . . . . . . . . 181-f option, on command line . . . . . . . . . . . . . . . . . . 181-F option, troubleshooting . . . . . . . . . . . . . . . . . . . . 185-mf/-mr options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178-O option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178-v option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178-v option, variables, assigning. . . . . . . . . . . . . . . . . . 78-W option. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178.. (period) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.mo files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.mo files, converting from .po . . . . . . . . . . . . . . . . . 167.mo files, specifying directory of . . . . . . . . . . 161, 162.po files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160, 163.po files, converting to .mo . . . . . . . . . . . . . . . . . . . 167// (forward slash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24/ (forward slash), / operator . . . . . . . . . . . . . . . . . . . 95/ (forward slash), /= operator . . . . . . . . . . . . . . 85, 95/ (forward slash), /= operator, vs. /=.../ regexpconstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86/ (forward slash), patterns and . . . . . . . . . . . . . . . . 97/= operator vs. /=.../ regexp constant . . . . . . . . 86/dev/... special files (gawk) . . . . . . . . . . . . . . . . . . . 69/inet/ files (gawk) . . . . . . . . . . . . . . . . . . . . . . . . . . . 172/p files (gawk) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173;; (semicolon) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22; (semicolon), <strong>AWK</strong>PATH variable and. . . . . . . . . . . 273; (semicolon), separating statements in actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101, 102 (right angle bracket), > operator. . . . . . . . . . 89, 95> (right angle bracket), > operator (I/O) . . . . . . . 66> (right angle bracket), >= operator. . . . . . . . . 89, 95> (right angle bracket), >> operator (I/O) . . 67, 95?? (question mark) . . . . . . . . . . . . . . . . . . . . . . . . . . 28, 31? (question mark), ?: operator. . . . . . . . . . . . . . . . . 95[[] (square brackets) . . . . . . . . . . . . . . . . . . . . . . . . . . . 27^^ (caret) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27, 31^ (caret), ^ operator . . . . . . . . . . . . . . . . . . . . . . 94, 180^ (caret), ^= operator . . . . . . . . . . . . . . . . . 85, 95, 180^ (caret), in character lists . . . . . . . . . . . . . . . . . . . . . 29‘^’, in FS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44_ (underscore), _ C macro . . . . . . . . . . . . . . . . . . . . 161_ (underscore), in names of private variables . . 187_ (underscore), translatable string . . . . . . . . . . . . 163_gr_init user-defined function . . . . . . . . . . . . . . . 211_pw_init user-defined function . . . . . . . . . . . . . . . 208{{} (braces), actions and . . . . . . . . . . . . . . . . . . . . . . 101{} (braces), pgawk program . . . . . . . . . . . . . . . . . . . 175{} (braces), statements, grouping . . . . . . . . . . . . . 102\\ (backslash) . . . . . . . . . . . . . . . . . . . . . . . 12, 14, 15, 27\ (backslash), \" escape sequence . . . . . . . . . . . . . . 26\ (backslash), \’ operator (gawk) . . . . . . . . . . . . . . 31\ (backslash), \/ escape sequence . . . . . . . . . . . . . . 26\ (backslash), \< operator (gawk) . . . . . . . . . . . . . . 31\ (backslash), \> operator (gawk) . . . . . . . . . . . . . . 31\ (backslash), \‘ operator (gawk) . . . . . . . . . . . . . . 31\ (backslash), \a escape sequence . . . . . . . . . . . . . . 25\ (backslash), \b escape sequence . . . . . . . . . . . . . . 25\ (backslash), \B operator (gawk) . . . . . . . . . . . . . . 31\ (backslash), \f escape sequence . . . . . . . . . . . . . . 25\ (backslash), \n escape sequence . . . . . . . . . . . . . . 25\ (backslash), \nnn escape sequence . . . . . . . . . . . 25\ (backslash), \r escape sequence . . . . . . . . . . . . . . 25\ (backslash), \t escape sequence . . . . . . . . . . . . . . 25\ (backslash), \v escape sequence . . . . . . . . . . . . . . 25\ (backslash), \w operator (gawk) . . . . . . . . . . . . . . 31\ (backslash), \W operator (gawk) . . . . . . . . . . . . . . 31
Index 337\ (backslash), \x escape sequence . . . . . . . . . . . . . . 25\ (backslash), \y operator (gawk) . . . . . . . . . . . . . . 31\ (backslash), as field separators . . . . . . . . . . . . . . . 46\ (backslash), continuing lines and . . . . . . . . 21, 224\ (backslash), continuing lines and, comments and. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\ (backslash), continuing lines and, in csh . . 20, 21\ (backslash), gsub/gensub/sub functions and. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140\ (backslash), in character lists . . . . . . . . . . . . . . . . 29\ (backslash), in escape sequences . . . . . . . . . . 25, 26\ (backslash), in escape sequences, POSIX and. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\ (backslash), regexp constants . . . . . . . . . . . . . . . . 34|| (vertical bar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28| (vertical bar), | operator (I/O) . . . . . . . 54, 67, 95| (vertical bar), |& operator (I/O) . . 56, 68, 95, 170| (vertical bar), |& operator (I/O), pipes, closing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73| (vertical bar), |& operator (I/O), two-waycommunications. . . . . . . . . . . . . . . . . . . . . . . . . . 173| (vertical bar), || operator . . . . . . . . . . . . . . . . 91, 95~~ (tilde), ~ operator . . . . . . 32, 34, 76, 89, 90, 95, 97Aaccessing fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39account information . . . . . . . . . . . . . . . . . . . . . 206, 210actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101actions, control statements in . . . . . . . . . . . . . . . . . 102actions, default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18actions, empty. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18adding, features to gawk . . . . . . . . . . . . . . . . . . . . . . 284adding, fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41adding, functions to gawk . . . . . . . . . . . . . . . . . . . . . 287advanced features, buffering . . . . . . . . . . . . . . . . . . 145advanced features, close function. . . . . . . . . . . . . . 73advanced features, constants, values of . . . . . . . . . 76advanced features, data files as single record . . . 39advanced features, fixed-width data . . . . . . . . . . . . 48advanced features, FNR/NR variables . . . . . . . . . . . 116advanced features, gawk . . . . . . . . . . . . . . . . . . . . . . 169advanced features, gawk, BSD portals . . . . . . . . . 173advanced features, gawk, network programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172advanced features, gawk, nondecimal input data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169advanced features, gawk, processes, communicatingwith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170advanced features, network connections, See Alsonetworks, connections . . . . . . . . . . . . . . . . . . . . 169advanced features, null strings, matching. . . . . . 143advanced features, operators, precedence . . . . . . . 87advanced features, piping into sh . . . . . . . . . . . . . . 68advanced features, regexp constants . . . . . . . . . . . . 86Aho, Alfred . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4, 263alarm clock example program . . . . . . . . . . . . . . . . . 236alarm.awk program. . . . . . . . . . . . . . . . . . . . . . . . . . . 236algorithms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301Alpha (DEC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7amazing awk assembler (aaa) . . . . . . . . . . . . . . . . . 306amazingly workable formatter (awf). . . . . . . . . . . 306ambiguity, syntactic: /= operator vs. /=.../ regexpconstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86ampersand (&), && operator . . . . . . . . . . . . . . . . . . . . 91ampersand (&), &&operator . . . . . . . . . . . . . . . . . . . . . 95ampersand (&), gsub/gensub/sub functions and. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140AND bitwise operation . . . . . . . . . . . . . . . . . . . . . . . 150and Boolean-logic operator . . . . . . . . . . . . . . . . . . . . 91and function (gawk). . . . . . . . . . . . . . . . . . . . . . . . . . . 151ANSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306archeologists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280ARGC/ARGV variables. . . . . . . . . . . . . . . . . . . . . . 113, 116ARGC/ARGV variables, command-line arguments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182ARGC/ARGV variables, portability and . . . . . . . . . . . 14ARGIND variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113ARGIND variable, command-line arguments. . . . . 182arguments, command-line . . . . . . . . . . . 113, 116, 182arguments, command-line, invoking awk . . . . . . . 177arguments, in function calls . . . . . . . . . . . . . . . . . . . . 93arguments, processing . . . . . . . . . . . . . . . . . . . . . . . . 201arguments, retrieving . . . . . . . . . . . . . . . . . . . . . . . . . 289arithmetic operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 81arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119arrays, as parameters to functions . . . . . . . . . . . . 156arrays, associative . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119arrays, associative, clearing . . . . . . . . . . . . . . . . . . . 288arrays, associative, library functions and . . . . . . 187arrays, deleting entire contents. . . . . . . . . . . . . . . . 123arrays, elements, assigning . . . . . . . . . . . . . . . . . . . . 121arrays, elements, deleting . . . . . . . . . . . . . . . . . . . . . 123arrays, elements, installing. . . . . . . . . . . . . . . . . . . . 288arrays, elements, order of . . . . . . . . . . . . . . . . . . . . . 123arrays, elements, referencing . . . . . . . . . . . . . . . . . . 120arrays, elements, retrieving number of . . . . . . . . 132arrays, for statement and . . . . . . . . . . . . . . . . . . . . 122arrays, IGNORECASE variable and . . . . . . . . . . . . . . 120arrays, indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119arrays, merging into strings . . . . . . . . . . . . . . . . . . . 195arrays, multidimensional . . . . . . . . . . . . . . . . . . . . . . 125arrays, multidimensional, scanning . . . . . . . . . . . . 127arrays, names of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119arrays, scanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122arrays, sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127arrays, sorting, IGNORECASE variable and . . . . . . 129arrays, sparse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120arrays, subscripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124arrays, subscripts, uninitialized variables as . . . 125
- Page 1 and 2:
GAWK: Effective AWK ProgrammingA Us
- Page 3:
To Miriam, for making me complete.T
- Page 6 and 7:
iiGAWK: Effective AWK ProgrammingTa
- Page 8 and 9:
ivGAWK: Effective AWK Programming5
- Page 10 and 11:
viGAWK: Effective AWK Programming10
- Page 12 and 13:
viiiGAWK: Effective AWK Programming
- Page 14 and 15:
2 GAWK: Effective AWK Programmingea
- Page 16 and 17:
4 GAWK: Effective AWK ProgrammingAf
- Page 18 and 19:
6 GAWK: Effective AWK ProgrammingCh
- Page 20 and 21:
8 GAWK: Effective AWK ProgrammingGN
- Page 22 and 23:
10 GAWK: Effective AWK Programmingt
- Page 24 and 25:
12 GAWK: Effective AWK ProgrammingT
- Page 26 and 27:
14 GAWK: Effective AWK Programmingp
- Page 28 and 29:
16 GAWK: Effective AWK Programming$
- Page 30 and 31:
18 GAWK: Effective AWK Programmingp
- Page 32 and 33:
20 GAWK: Effective AWK Programming
- Page 34 and 35:
22 GAWK: Effective AWK ProgrammingH
- Page 36 and 37:
24 GAWK: Effective AWK Programming2
- Page 38 and 39:
26 GAWK: Effective AWK Programming\
- Page 40 and 41:
28 GAWK: Effective AWK Programming[
- Page 42 and 43:
30 GAWK: Effective AWK Programmings
- Page 44 and 45:
32 GAWK: Effective AWK Programmingt
- Page 46 and 47:
34 GAWK: Effective AWK Programming2
- Page 48 and 49:
36 GAWK: Effective AWK Programming3
- Page 50 and 51:
38 GAWK: Effective AWK ProgrammingT
- Page 52 and 53:
40 GAWK: Effective AWK Programming$
- Page 54 and 55:
42 GAWK: Effective AWK Programmingh
- Page 56 and 57:
44 GAWK: Effective AWK Programming3
- Page 58 and 59:
46 GAWK: Effective AWK ProgrammingB
- Page 60 and 61:
48 GAWK: Effective AWK Programmingp
- Page 62 and 63:
50 GAWK: Effective AWK Programmingt
- Page 64 and 65:
52 GAWK: Effective AWK Programming3
- Page 66 and 67:
54 GAWK: Effective AWK Programming{
- Page 68 and 69:
56 GAWK: Effective AWK Programming3
- Page 70 and 71:
58 GAWK: Effective AWK Programming4
- Page 72 and 73:
60 GAWK: Effective AWK Programming4
- Page 74 and 75:
62 GAWK: Effective AWK Programming%
- Page 76 and 77:
64 GAWK: Effective AWK ProgrammingT
- Page 78 and 79:
66 GAWK: Effective AWK ProgrammingI
- Page 80 and 81:
68 GAWK: Effective AWK ProgrammingT
- Page 82 and 83:
70 GAWK: Effective AWK Programming
- Page 84 and 85:
72 GAWK: Effective AWK ProgrammingS
- Page 86 and 87:
74 GAWK: Effective AWK Programmingo
- Page 88 and 89:
76 GAWK: Effective AWK Programming1
- Page 90 and 91:
78 GAWK: Effective AWK Programmingh
- Page 92 and 93:
80 GAWK: Effective AWK Programmingf
- Page 94 and 95:
82 GAWK: Effective AWK Programmingx
- Page 96 and 97:
84 GAWK: Effective AWK ProgrammingT
- Page 98 and 99:
86 GAWK: Effective AWK ProgrammingA
- Page 100 and 101:
88 GAWK: Effective AWK ProgrammingU
- Page 102 and 103:
90 GAWK: Effective AWK ProgrammingI
- Page 104 and 105:
92 GAWK: Effective AWK ProgrammingS
- Page 106 and 107:
94 GAWK: Effective AWK ProgrammingA
- Page 108 and 109:
96 GAWK: Effective AWK Programming6
- Page 110 and 111:
98 GAWK: Effective AWK Programmingt
- Page 112 and 113:
100 GAWK: Effective AWK Programming
- Page 114 and 115:
102 GAWK: Effective AWK Programming
- Page 116 and 117:
104 GAWK: Effective AWK Programming
- Page 118 and 119:
106 GAWK: Effective AWK Programming
- Page 120 and 121:
108 GAWK: Effective AWK Programming
- Page 122 and 123:
110 GAWK: Effective AWK Programming
- Page 124 and 125:
112 GAWK: Effective AWK Programming
- Page 126 and 127:
114 GAWK: Effective AWK Programming
- Page 128 and 129:
116 GAWK: Effective AWK Programming
- Page 130 and 131:
118 GAWK: Effective AWK Programming
- Page 132 and 133:
120 GAWK: Effective AWK Programming
- Page 134 and 135:
122 GAWK: Effective AWK Programming
- Page 136 and 137:
124 GAWK: Effective AWK Programming
- Page 138 and 139:
126 GAWK: Effective AWK Programming
- Page 140 and 141:
128 GAWK: Effective AWK Programming
- Page 142 and 143:
130 GAWK: Effective AWK Programming
- Page 144 and 145:
132 GAWK: Effective AWK Programming
- Page 146 and 147:
134 GAWK: Effective AWK Programming
- Page 148 and 149:
136 GAWK: Effective AWK Programming
- Page 150 and 151:
138 GAWK: Effective AWK Programming
- Page 152 and 153:
140 GAWK: Effective AWK Programming
- Page 154 and 155:
142 GAWK: Effective AWK Programming
- Page 156 and 157:
144 GAWK: Effective AWK Programming
- Page 158 and 159:
146 GAWK: Effective AWK Programming
- Page 160 and 161:
148 GAWK: Effective AWK Programming
- Page 162 and 163:
150 GAWK: Effective AWK Programming
- Page 164 and 165:
152 GAWK: Effective AWK Programming
- Page 166 and 167:
154 GAWK: Effective AWK Programming
- Page 168 and 169:
156 GAWK: Effective AWK Programming
- Page 170 and 171:
158 GAWK: Effective AWK Programming
- Page 172 and 173:
160 GAWK: Effective AWK Programming
- Page 174 and 175:
162 GAWK: Effective AWK Programming
- Page 176 and 177:
164 GAWK: Effective AWK Programming
- Page 178 and 179:
166 GAWK: Effective AWK Programming
- Page 180 and 181:
168 GAWK: Effective AWK Programming
- Page 182 and 183:
170 GAWK: Effective AWK Programming
- Page 184 and 185:
172 GAWK: Effective AWK Programming
- Page 186 and 187:
174 GAWK: Effective AWK Programming
- Page 188 and 189:
176 GAWK: Effective AWK Programming
- Page 190 and 191:
178 GAWK: Effective AWK Programming
- Page 192 and 193:
180 GAWK: Effective AWK Programming
- Page 194 and 195:
182 GAWK: Effective AWK Programming
- Page 196 and 197:
184 GAWK: Effective AWK Programming
- Page 198 and 199:
186 GAWK: Effective AWK Programming
- Page 200 and 201:
188 GAWK: Effective AWK Programming
- Page 202 and 203:
190 GAWK: Effective AWK Programming
- Page 204 and 205:
192 GAWK: Effective AWK Programming
- Page 206 and 207:
194 GAWK: Effective AWK Programming
- Page 208 and 209:
196 GAWK: Effective AWK Programming
- Page 210 and 211:
198 GAWK: Effective AWK Programming
- Page 212 and 213:
200 GAWK: Effective AWK Programming
- Page 214 and 215:
202 GAWK: Effective AWK Programming
- Page 216 and 217:
204 GAWK: Effective AWK Programming
- Page 218 and 219:
206 GAWK: Effective AWK Programming
- Page 220 and 221:
208 GAWK: Effective AWK Programming
- Page 222 and 223:
210 GAWK: Effective AWK Programming
- Page 224 and 225:
212 GAWK: Effective AWK Programming
- Page 226 and 227:
214 GAWK: Effective AWK Programming
- Page 228 and 229:
216 GAWK: Effective AWK Programming
- Page 230 and 231:
218 GAWK: Effective AWK Programming
- Page 232 and 233:
220 GAWK: Effective AWK Programming
- Page 234 and 235:
222 GAWK: Effective AWK Programming
- Page 236 and 237:
224 GAWK: Effective AWK Programming
- Page 238 and 239:
226 GAWK: Effective AWK Programming
- Page 240 and 241:
228 GAWK: Effective AWK Programming
- Page 242 and 243:
230 GAWK: Effective AWK Programming
- Page 244 and 245:
232 GAWK: Effective AWK Programming
- Page 246 and 247:
234 GAWK: Effective AWK Programming
- Page 248 and 249:
236 GAWK: Effective AWK Programming
- Page 250 and 251:
238 GAWK: Effective AWK Programming
- Page 252 and 253:
240 GAWK: Effective AWK Programming
- Page 254 and 255:
242 GAWK: Effective AWK Programming
- Page 256 and 257:
244 GAWK: Effective AWK Programming
- Page 258 and 259:
246 GAWK: Effective AWK Programming
- Page 260 and 261:
248 GAWK: Effective AWK Programming
- Page 262 and 263:
250 GAWK: Effective AWK Programming
- Page 264 and 265:
252 GAWK: Effective AWK Programming
- Page 266 and 267:
254 GAWK: Effective AWK Programming
- Page 268 and 269:
256 GAWK: Effective AWK Programming
- Page 270 and 271:
258 GAWK: Effective AWK Programming
- Page 272 and 273:
260 GAWK: Effective AWK Programming
- Page 274 and 275:
262 GAWK: Effective AWK Programming
- Page 276 and 277:
264 GAWK: Effective AWK Programming
- Page 278 and 279:
266 GAWK: Effective AWK Programming
- Page 280 and 281:
268 GAWK: Effective AWK Programming
- Page 282 and 283:
270 GAWK: Effective AWK Programming
- Page 284 and 285:
272 GAWK: Effective AWK Programming
- Page 286 and 287:
274 GAWK: Effective AWK Programming
- Page 288 and 289:
276 GAWK: Effective AWK Programming
- Page 290 and 291:
278 GAWK: Effective AWK Programming
- Page 292 and 293:
280 GAWK: Effective AWK Programming
- Page 294 and 295:
282 GAWK: Effective AWK Programming
- Page 296 and 297:
284 GAWK: Effective AWK Programming
- Page 298 and 299: 286 GAWK: Effective AWK Programming
- Page 300 and 301: 288 GAWK: Effective AWK Programming
- Page 302 and 303: 290 GAWK: Effective AWK Programming
- Page 304 and 305: 292 GAWK: Effective AWK Programming
- Page 306 and 307: 294 GAWK: Effective AWK Programming
- Page 308 and 309: 296 GAWK: Effective AWK Programming
- Page 310 and 311: 298 GAWK: Effective AWK Programming
- Page 312 and 313: 300 GAWK: Effective AWK Programming
- Page 314 and 315: 302 GAWK: Effective AWK Programming
- Page 316 and 317: 304 GAWK: Effective AWK Programming
- Page 318 and 319: 306 GAWK: Effective AWK Programming
- Page 320 and 321: 308 GAWK: Effective AWK Programming
- Page 322 and 323: 310 GAWK: Effective AWK Programming
- Page 324 and 325: 312 GAWK: Effective AWK Programming
- Page 326 and 327: 314 GAWK: Effective AWK Programming
- Page 328 and 329: 316 GAWK: Effective AWK Programming
- Page 330 and 331: 318 GAWK: Effective AWK Programming
- Page 332 and 333: 320 GAWK: Effective AWK Programming
- Page 334 and 335: 322 GAWK: Effective AWK Programming
- Page 336 and 337: 324 GAWK: Effective AWK Programming
- Page 338 and 339: 326 GAWK: Effective AWK Programming
- Page 340 and 341: 328 GAWK: Effective AWK Programming
- Page 342 and 343: 330 GAWK: Effective AWK Programming
- Page 344 and 345: 332 GAWK: Effective AWK Programming
- Page 346 and 347: 334 GAWK: Effective AWK Programming
- Page 350 and 351: 338 GAWK: Effective AWK Programming
- Page 352 and 353: 340 GAWK: Effective AWK Programming
- Page 354 and 355: 342 GAWK: Effective AWK Programming
- Page 356 and 357: 344 GAWK: Effective AWK Programming
- Page 358 and 359: 346 GAWK: Effective AWK Programming
- Page 360 and 361: 348 GAWK: Effective AWK Programming
- Page 362 and 363: 350 GAWK: Effective AWK Programming
- Page 364: 352 GAWK: Effective AWK Programming