348 <strong>G<strong>AWK</strong></strong>: <strong>Effective</strong> <strong>AWK</strong> <strong>Programming</strong>pgawk program, awkprof.out file. . . . . . . . . . . . . . 173pgawk program, dynamic profiling. . . . . . . . . . . . . 176pipes, closing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71pipes, input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54pipes, output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Pitts, Dave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281Pitts, Davi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9plus sign (+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28plus sign (+), + operator . . . . . . . . . . . . . . . . . . . . . . . 95plus sign (+), ++ operator . . . . . . . . . . . . . . . . . . 86, 94plus sign (+), += operator . . . . . . . . . . . . . . . . . . 84, 95plus sign (+), decrement/increment operators. . . 86portability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26portability, #! (executable scripts) . . . . . . . . . . . . . 13portability, ** operator and. . . . . . . . . . . . . . . . . . . . 82portability, **= operator and. . . . . . . . . . . . . . . . . . . 85portability, ARGV variable . . . . . . . . . . . . . . . . . . . . . . 14portability, backslash continuation and . . . . . . . . . 21portability, backslash in escape sequences . . . . . . 26portability, close function and . . . . . . . . . . . . . . . . 73portability, data files as single record. . . . . . . . . . . 39portability, deleting array elements . . . . . . . . . . . 124portability, example programs . . . . . . . . . . . . . . . . 186portability, fflush function and . . . . . . . . . . . . . . 143portability, functions, defining . . . . . . . . . . . . . . . . 154portability, gawk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286portability, gettext library and. . . . . . . . . . . . . . . 160portability, internationalization and . . . . . . . . . . . 165portability, length function. . . . . . . . . . . . . . . . . . . 133portability, new awk vs. old awk . . . . . . . . . . . . . . . . 80portability, next statement in user-definedfunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157portability, NF variable, decrementing . . . . . . . . . . 42portability, operators . . . . . . . . . . . . . . . . . . . . . . . . . . 87portability, operators, not in POSIX awk . . . . . . . 95portability, POSIXLY_CORRECT environment variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182portability, substr function. . . . . . . . . . . . . . . . . . . 139portable object files. . . . . . . . . . . . . . . . . . . . . . 160, 163portable object files, converting to message objectfiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167portable object files, generating . . . . . . . . . . . . . . . 179portal files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173porting gawk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286positional specifiers, printf statement . . . . . . . . . 63positional specifiers, printf statement . . . . . . . . 164positional specifiers, printf statement, mixingwith regular formats . . . . . . . . . . . . . . . . . . . . . 165positive zero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304POSIX awk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 85POSIX awk, **= operator and. . . . . . . . . . . . . . . . . . 85POSIX awk, < operator and . . . . . . . . . . . . . . . . . . . . 54POSIX awk, | I/O operator and . . . . . . . . . . . . . . . 55POSIX awk, arithmetic operators and . . . . . . . . . . 81POSIX awk, backslashes in string constants . . . . 26POSIX awk, BEGIN/END patterns . . . . . . . . . . . . . . 100POSIX awk, break statement and . . . . . . . . . . . . . 107POSIX awk, changes in awk versions . . . . . . . . . . 258POSIX awk, character lists and . . . . . . . . . . . . . . . . 29POSIX awk, character lists and, character classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 31POSIX awk, continue statement and . . . . . . . . . 108POSIX awk, CONVFMT variable and . . . . . . . . . . . . 111POSIX awk, date utility and. . . . . . . . . . . . . . . . . . 149POSIX awk, field separators and. . . . . . . . . . . . 39, 47POSIX awk, FS variable and . . . . . . . . . . . . . . . . . . 111POSIX awk, function keyword in. . . . . . . . . . . . . 154POSIX awk, functions and, gsub/sub . . . . . . . . . 141POSIX awk, functions and, length . . . . . . . . . . . . 133POSIX awk, GNU long options and . . . . . . . . . . . 177POSIX awk, interval expressions in . . . . . . . . . . . . . 29POSIX awk, next/nextfile statements and . . . 108POSIX awk, numeric strings and . . . . . . . . . . . . . . . 88POSIX awk, OFMT variable and . . . . . . . . . . . . . 61, 80POSIX awk, period (.), using . . . . . . . . . . . . . . . . . . 27POSIX awk, printf format strings and. . . . . . . . . 65POSIX awk, regular expressions and . . . . . . . . . . . 29POSIX awk, timestamps and. . . . . . . . . . . . . . . . . . 146POSIX mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180, 182POSIX, awk and . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3POSIX, gawk extensions not included in . . . . . . 260POSIX, programs, implementing in awk . . . . . . . 215POSIXLY_CORRECT environment variable . . . . . . . 182precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87, 94precedence, regexp operators. . . . . . . . . . . . . . . . . . . 29print statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58print statement, BEGIN/END patterns and . . . . . 100print statement, commas, omitting . . . . . . . . . . . . 59print statement, I/O operators in . . . . . . . . . . . . . 95print statement, line continuations and . . . . . . . . 59print statement, OFMT variable and . . . . . . . . . . . 112print statement, See Also redirection, of output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66print statement, sprintf function and . . . . . . . 192printf statement . . . . . . . . . . . . . . . . . . . . . . . . . . 58, 61printf statement, columns, aligning . . . . . . . . . . . 59printf statement, format-control characters . . . 61printf statement, I/O operators in . . . . . . . . . . . . 95printf statement, modifiers . . . . . . . . . . . . . . . . . . . 63printf statement, positional specifiers . . . . 63, 164printf statement, positional specifiers, mixingwith regular formats . . . . . . . . . . . . . . . . . . . . . 165printf statement, See Also redirection, of output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66printf statement, sprintf function and . . . . . . 192printf statement, syntax of . . . . . . . . . . . . . . . . . . . 61printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58printing, list of options . . . . . . . . . . . . . . . . . . . . . . . 179printing, mailing labels . . . . . . . . . . . . . . . . . . . . . . . 240printing, unduplicated lines of text. . . . . . . . . . . . 229printing, user information. . . . . . . . . . . . . . . . . . . . . 224private variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186process information, files for . . . . . . . . . . . . . . . . . . . 70processes, two-way communications with . . . . . . 170processing data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300PROCINFO array . . . . . . . . . . . . . . . . . . 71, 115, 206, 210
Index 349PROCINFO variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290profiling awk programs . . . . . . . . . . . . . . . . . . . . . . . . 173profiling awk programs, dynamically . . . . . . . . . . 176profiling gawk, See pgawk program . . . . . . . . . . . . 173program, definition of. . . . . . . . . . . . . . . . . . . . . . . . . . 11programmers, attractiveness of. . . . . . . . . . . . . . . . 170programming conventions, --non-decimal-dataoption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169programming conventions, ARGC/ARGV variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113programming conventions, exit statement . . . . 110programming conventions, function parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158programming conventions, functions, calling. . . 130programming conventions, functions, writing . . 154programming conventions, gawk internals . . . . . 294,296programming conventions, nextfile statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188programming conventions, private variable names. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187programming language, recipe for . . . . . . . . . . . . . . . 3programming languages, data-driven vs. procedural. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11programming, basic steps . . . . . . . . . . . . . . . . . . . . . 300programming, concepts . . . . . . . . . . . . . . . . . . . . . . . 300pwcat program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206QQSE Awk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283question mark (?) . . . . . . . . . . . . . . . . . . . . . . . . . . 28, 31question mark (?), ?: operator. . . . . . . . . . . . . . . . . 95QuikTrim Awk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283QUIT signal (MS-DOS). . . . . . . . . . . . . . . . . . . . . . . . 176quoting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 13, 14quoting, rules for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14quoting, tricks for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15RRakitzis, Byron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244rand function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131random numbers, Cliff . . . . . . . . . . . . . . . . . . . . . . . . 193random numbers, rand/srand functions . . . . . . . 131random numbers, seed of . . . . . . . . . . . . . . . . . . . . . 131range expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29range patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Rankin, Pat . . . . . . . . . . . . . . . . . . . . . . . 9, 85, 263, 281raw sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172readable data files, checking . . . . . . . . . . . . . . . . . . 199readable.awk program . . . . . . . . . . . . . . . . . . . . . . . 199recipe for a programming language . . . . . . . . . . . . . . 3record separators . . . . . . . . . . . . . . . . . . . . . . . . . 36, 112record separators, changing . . . . . . . . . . . . . . . . . . . . 37record separators, regular expressions as . . . . . . . 38record separators, with multiline records . . . . . . . 49records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36, 301records, multiline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49records, printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58records, splitting input into . . . . . . . . . . . . . . . . . . . . 36records, terminating . . . . . . . . . . . . . . . . . . . . . . . . . . . 38records, treating files as. . . . . . . . . . . . . . . . . . . . . . . . 39recursive functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 154redirection of input . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53redirection of output. . . . . . . . . . . . . . . . . . . . . . . . . . . 66reference counting, sorting arrays . . . . . . . . . . . . . 128regexp constants . . . . . . . . . . . . . . . . . . . . . . . 25, 76, 90regexp constants, /=.../, /= operator and . . . . . 86regexp constants, as patterns . . . . . . . . . . . . . . . . . . 97regexp constants, in gawk . . . . . . . . . . . . . . . . . . . . . . 77regexp constants, slashes vs. quotes . . . . . . . . . . . . 34regexp constants, vs. string constants . . . . . . . . . . 34regexp, See regular expressions. . . . . . . . . . . . . . . . . 24register_deferred_variable internal function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290register_open_hook internal function . . . . . . . . 290regular expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24regular expressions as field separators . . . . . . . . . . 43regular expressions, anchors in . . . . . . . . . . . . . . . . . 27regular expressions, as field separators . . . . . . . . . 44regular expressions, as patterns. . . . . . . . . . . . . 24, 96regular expressions, as record separators . . . . . . . 38regular expressions, case sensitivity. . . . . . . . 32, 111regular expressions, computed . . . . . . . . . . . . . . . . . 34regular expressions, constants, See regexpconstants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25regular expressions, dynamic . . . . . . . . . . . . . . . . . . . 34regular expressions, dynamic, with embeddednewlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34regular expressions, gawk, command-line options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32regular expressions, interval expressions and . . 181regular expressions, leftmost longest match. . . . . 33regular expressions, operators . . . . . . . . . . . . . . 24, 27regular expressions, operators, for buffers . . . . . . 31regular expressions, operators, for words . . . . . . . 31regular expressions, operators, gawk . . . . . . . . . . . . 31regular expressions, operators, precedence of . . . 29regular expressions, searching for . . . . . . . . . . . . . 220relational operators, See comparison operators . . 87return statement, user-defined functions . . . . . . 157return values, close function . . . . . . . . . . . . . . . . . . 73rev user-defined function . . . . . . . . . . . . . . . . . . . . . 155rewind user-defined function . . . . . . . . . . . . . . . . . . 198right angle bracket (>), > operator. . . . . . . . . . 89, 95right angle bracket (>), > operator (I/O) . . . . . . . 66right angle bracket (>), >= operator. . . . . . . . . 89, 95right angle bracket (>), >> operator (I/O) . . 67, 95right shift, bitwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Ritchie, Dennis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302RLENGTH variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115RLENGTH variable, match function and . . . . . . . . . 134Robbins, Arnold . . . 46, 55, 207, 236, 264, 280, 297Robbins, Bill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Robbins, Harry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- 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 348 and 349: 336 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 362 and 363: 350 GAWK: Effective AWK Programming
- Page 364: 352 GAWK: Effective AWK Programming