diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1312 |
1 files changed, 673 insertions, 639 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 44568736..e7854caf 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -20,16 +20,13 @@ implementation of AWK. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the -Invariant Sections being "GNU General Public License", the Front-Cover -texts being (a) (see below), and with the Back-Cover Texts being (b) -(see below). A copy of the license is included in the section entitled -"GNU Free Documentation License". +Invariant Sections being "GNU General Public License", with the +Front-Cover Texts being "A GNU Manual", and with the Back-Cover Texts +as in (a) below. A copy of the license is included in the section +entitled "GNU Free Documentation License". - a. "A GNU Manual" - - b. "You have the freedom to copy and modify this GNU manual. Buying - copies from the FSF supports it in developing GNU and promoting - software freedom." + a. The FSF's Back-Cover Text is: "You have the freedom to copy and + modify this GNU manual." File: gawk.info, Node: Top, Next: Foreword, Up: (dir) @@ -51,16 +48,13 @@ implementation of AWK. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the -Invariant Sections being "GNU General Public License", the Front-Cover -texts being (a) (see below), and with the Back-Cover Texts being (b) -(see below). A copy of the license is included in the section entitled -"GNU Free Documentation License". - - a. "A GNU Manual" +Invariant Sections being "GNU General Public License", with the +Front-Cover Texts being "A GNU Manual", and with the Back-Cover Texts +as in (a) below. A copy of the license is included in the section +entitled "GNU Free Documentation License". - b. "You have the freedom to copy and modify this GNU manual. Buying - copies from the FSF supports it in developing GNU and promoting - software freedom." + a. The FSF's Back-Cover Text is: "You have the freedom to copy and + modify this GNU manual." * Menu: @@ -2569,10 +2563,8 @@ The following list describes options mandated by the POSIX standard: different file name for the output. No space is allowed between the `-o' and FILE, if FILE is supplied. - NOTE: Due to the way `gawk' has evolved, with this option - your program is still executed. This will change in the next - major release such that `gawk' will only pretty-print the - program and not run it. + NOTE: In the past, this option would also execute your + program. This is no longer the case. `-O' `--optimize' @@ -2956,11 +2948,6 @@ change. The variables are: supposed to be differences, but occasionally theory and practice don't coordinate with each other.) -`GAWK_NO_PP_RUN' - If this variable exists, then when invoked with the - `--pretty-print' option, `gawk' skips running the program. This - variable will not survive into the next major release. - `GAWK_STACKSIZE' This specifies the amount by which `gawk' should grow its internal evaluation stack, when needed. @@ -3676,6 +3663,14 @@ set had other alphabetic characters in it, this would not match them. With the POSIX character classes, you can write `/[[:alnum:]]/' to match the alphabetic and numeric characters in your character set. + Some utilities that match regular expressions provide a non-standard +`[:ascii:]' character class; `awk' does not. However, you can simulate +such a construct using `[\x00-\x7F]'. This matches all values +numerically between zero and 127, which is the defined range of the +ASCII character set. Use a complemented character list +(`[^\x00-\x7F]') to match any single-byte characters that are not in +the ASCII range. + Two additional special sequences can appear in bracket expressions. These apply to non-ASCII character sets, which can have single symbols (called "collating elements") that are represented with more than one @@ -11685,6 +11680,20 @@ brackets ([ ]): `cos(X)' Return the cosine of X, with X in radians. +`div(NUMERATOR, DENOMINATOR, RESULT)' + Perform integer division, similar to the standard C function of the + same name. First, truncate `numerator' and `denominator' to + integers. Clear the `result' array, and then set + `result["quotient"]' to the result of `numerator / denominator', + truncated to an integer, and set `result["remainder"]' to the + result of `numerator % denominator', truncated to an integer. + This function is primarily intended for use with arbitrary length + integers; it avoids creating MPFR arbitrary precision + floating-point values (*note Arbitrary Precision Integers::). + + This function is a `gawk' extension. It is not available in + compatibility mode (*note Options::). + `exp(X)' Return the exponential of X (`e ^ X') or report an error if X is out of range. The range of values X can have depends on your @@ -19641,8 +19650,8 @@ by the `Ctrl-<\>' key. called this way, `gawk' "pretty prints" the program into `awkprof.out', without any execution counts. - NOTE: The `--pretty-print' option still runs your program. This - will change in the next major release. + NOTE: Once upon a time, the `--pretty-print' option would also run + your program. This is is no longer the case. File: gawk.info, Node: Advanced Features Summary, Prev: Profiling, Up: Advanced Features @@ -22087,6 +22096,29 @@ just use the following: gawk -M 'BEGIN { n = 13; print n % 2 }' + When dividing two arbitrary precision integers with either `/' or +`%', the result is typically an arbitrary precision floating point +value (unless the denominator evenly divides into the numerator). In +order to do integer division or remainder with arbitrary precision +integers, use the built-in `div()' function (*note Numeric Functions::). + + You can simulate the `div()' function in standard `awk' using this +user-defined function: + + # div --- do integer division + + function div(numerator, denominator, result, i) + { + split("", result) + + numerator = int(numerator) + denominator = int(denominator) + result["quotient"] = int(numerator / denominator) + result["remainder"] = int(numerator % denominator) + + return 0.0 + } + ---------- Footnotes ---------- (1) Weisstein, Eric W. `Sylvester's Sequence'. From MathWorld--A @@ -27011,7 +27043,9 @@ Various `.c', `.y', and `.h' files `doc/igawk.1' The `troff' source for a manual page describing the `igawk' - program presented in *note Igawk Program::. + program presented in *note Igawk Program::. (Since `gawk' can do + its own `@include' processing, neither `igawk' nor `igawk.1' are + installed.) `doc/Makefile.in' The input file used during the configuration process to generate @@ -27053,11 +27087,10 @@ Various `.c', `.y', and `.h' files contains a `Makefile.in' file, which `configure' uses to generate a `Makefile'. `Makefile.am' is used by GNU Automake to create `Makefile.in'. The library functions from *note Library - Functions::, and the `igawk' program from *note Igawk Program::, - are included as ready-to-use files in the `gawk' distribution. - They are installed as part of the installation process. The rest - of the programs in this Info file are available in appropriate - subdirectories of `awklib/eg'. + Functions::, are included as ready-to-use files in the `gawk' + distribution. They are installed as part of the installation + process. The rest of the programs in this Info file are available + in appropriate subdirectories of `awklib/eg'. `extension/*' The source code, manual pages, and infrastructure files for the @@ -30990,20 +31023,20 @@ Index * --include option: Options. (line 159) * --lint option <1>: Options. (line 185) * --lint option: Command Line. (line 20) -* --lint-old option: Options. (line 295) +* --lint-old option: Options. (line 293) * --load option: Options. (line 173) * --non-decimal-data option <1>: Nondecimal Data. (line 6) * --non-decimal-data option: Options. (line 211) * --non-decimal-data option, strtonum() function and: Nondecimal Data. (line 36) -* --optimize option: Options. (line 237) -* --posix option: Options. (line 254) -* --posix option, --traditional option and: Options. (line 273) +* --optimize option: Options. (line 235) +* --posix option: Options. (line 252) +* --posix option, --traditional option and: Options. (line 271) * --pretty-print option: Options. (line 224) * --profile option <1>: Profiling. (line 12) -* --profile option: Options. (line 242) -* --re-interval option: Options. (line 279) -* --sandbox option: Options. (line 286) +* --profile option: Options. (line 240) +* --re-interval option: Options. (line 277) +* --sandbox option: Options. (line 284) * --sandbox option, disabling system() function: I/O Functions. (line 97) * --sandbox option, input redirection with getline: Getline. (line 19) @@ -31011,9 +31044,9 @@ Index (line 6) * --source option: Options. (line 117) * --traditional option: Options. (line 81) -* --traditional option, --posix option and: Options. (line 273) +* --traditional option, --posix option and: Options. (line 271) * --use-lc-numeric option: Options. (line 219) -* --version option: Options. (line 300) +* --version option: Options. (line 298) * --with-whiny-user-strftime configuration option: Additional Configuration Options. (line 35) * -b option: Options. (line 68) @@ -31026,26 +31059,26 @@ Index * -f option: Options. (line 25) * -F option: Options. (line 21) * -f option: Long. (line 12) -* -F option, -Ft sets FS to TAB: Options. (line 308) +* -F option, -Ft sets FS to TAB: Options. (line 306) * -F option, command line: Command Line Field Separator. (line 6) -* -f option, multiple uses: Options. (line 313) +* -f option, multiple uses: Options. (line 311) * -g option: Options. (line 147) * -h option: Options. (line 154) * -i option: Options. (line 159) -* -L option: Options. (line 295) +* -L option: Options. (line 293) * -l option: Options. (line 173) * -M option: Options. (line 205) * -N option: Options. (line 219) * -n option: Options. (line 211) -* -O option: Options. (line 237) +* -O option: Options. (line 235) * -o option: Options. (line 224) -* -P option: Options. (line 254) -* -p option: Options. (line 242) -* -r option: Options. (line 279) -* -S option: Options. (line 286) +* -P option: Options. (line 252) +* -p option: Options. (line 240) +* -r option: Options. (line 277) +* -S option: Options. (line 284) * -v option: Assignment Options. (line 12) -* -V option: Options. (line 300) +* -V option: Options. (line 298) * -v option: Options. (line 32) * -W option: Options. (line 46) * . (period), regexp operator: Regexp Operators. (line 44) @@ -31318,7 +31351,7 @@ Index * awf (amazingly workable formatter) program: Glossary. (line 24) * awk debugging, enabling: Options. (line 108) * awk language, POSIX version: Assignment Ops. (line 137) -* awk profiling, enabling: Options. (line 242) +* awk profiling, enabling: Options. (line 240) * awk programs <1>: Two Rules. (line 6) * awk programs <2>: Executable Scripts. (line 6) * awk programs: Getting Started. (line 12) @@ -31489,13 +31522,13 @@ Index * bracket expressions, character classes: Bracket Expressions. (line 30) * bracket expressions, collating elements: Bracket Expressions. - (line 69) + (line 77) * bracket expressions, collating symbols: Bracket Expressions. - (line 76) + (line 84) * bracket expressions, complemented: Regexp Operators. (line 64) * bracket expressions, equivalence classes: Bracket Expressions. - (line 82) -* bracket expressions, non-ASCII: Bracket Expressions. (line 69) + (line 90) +* bracket expressions, non-ASCII: Bracket Expressions. (line 77) * bracket expressions, range expressions: Bracket Expressions. (line 6) * break debugger command: Breakpoint Control. (line 11) @@ -31613,8 +31646,8 @@ Index * Close, Diane <1>: Contributors. (line 20) * Close, Diane: Manual History. (line 41) * Collado, Manuel: Acknowledgments. (line 60) -* collating elements: Bracket Expressions. (line 69) -* collating symbols: Bracket Expressions. (line 76) +* collating elements: Bracket Expressions. (line 77) +* collating symbols: Bracket Expressions. (line 84) * Colombo, Antonio <1>: Contributors. (line 137) * Colombo, Antonio: Acknowledgments. (line 60) * columns, aligning: Print Examples. (line 70) @@ -31725,7 +31758,7 @@ Index * cosine: Numeric Functions. (line 15) * counting: Wc Program. (line 6) * csh utility: Statements/Lines. (line 44) -* csh utility, POSIXLY_CORRECT environment variable: Options. (line 355) +* csh utility, POSIXLY_CORRECT environment variable: Options. (line 353) * csh utility, |& operator, comparison with: Two-way I/O. (line 44) * ctime() user-defined function: Function Example. (line 73) * currency symbols, localization: Explaining gettext. (line 104) @@ -31908,7 +31941,7 @@ Index * debugger, read commands from a file: Debugger Info. (line 96) * debugging awk programs: Debugger. (line 6) * debugging gawk, bug reports: Bugs. (line 9) -* decimal point character, locale specific: Options. (line 270) +* decimal point character, locale specific: Options. (line 268) * decrement operators: Increment Ops. (line 35) * default keyword: Switch Statement. (line 6) * Deifik, Scott <1>: Bugs. (line 71) @@ -32009,6 +32042,7 @@ Index * display debugger command: Viewing And Changing Data. (line 8) * display debugger options: Debugger Info. (line 57) +* div: Numeric Functions. (line 18) * division: Arithmetic Ops. (line 44) * do-while statement: Do Statement. (line 6) * do-while statement, use of regexps in: Regexp Usage. (line 19) @@ -32129,10 +32163,10 @@ Index * exit status, of VMS: VMS Running. (line 29) * exit the debugger: Miscellaneous Debugger Commands. (line 99) -* exp: Numeric Functions. (line 18) +* exp: Numeric Functions. (line 32) * expand utility: Very Simple. (line 69) * Expat XML parser library: gawkextlib. (line 35) -* exponent: Numeric Functions. (line 18) +* exponent: Numeric Functions. (line 32) * expressions: Expressions. (line 6) * expressions, as patterns: Expression Patterns. (line 6) * expressions, assignment: Assignment Ops. (line 6) @@ -32336,7 +32370,7 @@ Index * FS variable, --field-separator option and: Options. (line 21) * FS variable, as null string: Single Character Fields. (line 20) -* FS variable, as TAB character: Options. (line 266) +* FS variable, as TAB character: Options. (line 264) * FS variable, changing value of: Field Separators. (line 35) * FS variable, running awk programs and: Cut Program. (line 68) * FS variable, setting from command line: Command Line Field Separator. @@ -32406,7 +32440,7 @@ Index * gawk, bitwise operations in: Bitwise Functions. (line 39) * gawk, break statement in: Break Statement. (line 51) * gawk, built-in variables and: Built-in Variables. (line 14) -* gawk, character classes and: Bracket Expressions. (line 90) +* gawk, character classes and: Bracket Expressions. (line 98) * gawk, coding style in: Adding Code. (line 39) * gawk, command-line options, and regular expressions: GNU Regexp Operators. (line 70) @@ -32426,7 +32460,7 @@ Index (line 139) * gawk, ERRNO variable in: Getline. (line 19) * gawk, escape sequences: Escape Sequences. (line 124) -* gawk, extensions, disabling: Options. (line 254) +* gawk, extensions, disabling: Options. (line 252) * gawk, features, adding: Adding Code. (line 6) * gawk, features, advanced: Advanced Features. (line 6) * gawk, field separators and: User-modified. (line 71) @@ -32487,7 +32521,7 @@ Index * gawk, TEXTDOMAIN variable in: User-modified. (line 152) * gawk, timestamps: Time Functions. (line 6) * gawk, uses for: Preface. (line 36) -* gawk, versions of, information about, printing: Options. (line 300) +* gawk, versions of, information about, printing: Options. (line 298) * gawk, VMS version of: VMS Installation. (line 6) * gawk, word-boundary operator: GNU Regexp Operators. (line 63) @@ -32668,7 +32702,7 @@ Index * installation, VMS: VMS Installation. (line 6) * installing gawk: Installation. (line 6) * instruction tracing, in debugger: Debugger Info. (line 89) -* int: Numeric Functions. (line 23) +* int: Numeric Functions. (line 37) * INT signal (MS-Windows): Profiling. (line 214) * integer array indices: Numeric Array Subscripts. (line 31) @@ -32682,7 +32716,7 @@ Index (line 13) * internationalization, localization: User-modified. (line 152) * internationalization, localization, character classes: Bracket Expressions. - (line 90) + (line 98) * internationalization, localization, gawk and: Internationalization. (line 13) * internationalization, localization, locale categories: Explaining gettext. @@ -32798,7 +32832,7 @@ Index * lint checking, empty programs: Command Line. (line 16) * lint checking, issuing warnings: Options. (line 185) * lint checking, POSIXLY_CORRECT environment variable: Options. - (line 340) + (line 338) * lint checking, undefined functions: Pass By Value/Reference. (line 88) * LINT variable: User-modified. (line 88) @@ -32812,14 +32846,14 @@ Index * loading, extensions: Options. (line 173) * local variables, in a function: Variable Scope. (line 6) * locale categories: Explaining gettext. (line 81) -* locale decimal point character: Options. (line 270) +* locale decimal point character: Options. (line 268) * locale, definition of: Locales. (line 6) * localization: I18N and L10N. (line 6) * localization, See internationalization, localization: I18N and L10N. (line 6) -* log: Numeric Functions. (line 30) +* log: Numeric Functions. (line 44) * log files, timestamps in: Time Functions. (line 6) -* logarithm: Numeric Functions. (line 30) +* logarithm: Numeric Functions. (line 44) * logical false/true: Truth Values. (line 6) * logical operators, See Boolean expressions: Boolean Ops. (line 6) * login information: Passwd Functions. (line 16) @@ -32896,7 +32930,7 @@ Index * networks, programming: TCP/IP Networking. (line 6) * networks, support for: Special Network. (line 6) * newlines <1>: Boolean Ops. (line 67) -* newlines <2>: Options. (line 260) +* newlines <2>: Options. (line 258) * newlines: Statements/Lines. (line 6) * newlines, as field separators: Default Field Splitting. (line 6) @@ -33118,7 +33152,7 @@ Index * portability, NF variable, decrementing: Changing Fields. (line 115) * portability, operators: Increment Ops. (line 60) * portability, operators, not in POSIX awk: Precedence. (line 98) -* portability, POSIXLY_CORRECT environment variable: Options. (line 360) +* portability, POSIXLY_CORRECT environment variable: Options. (line 358) * portability, substr() function: String Functions. (line 510) * portable object files <1>: Translator i18n. (line 6) * portable object files: Explaining gettext. (line 37) @@ -33167,11 +33201,11 @@ Index * POSIX awk, regular expressions and: Regexp Operators. (line 162) * POSIX awk, timestamps and: Time Functions. (line 6) * POSIX awk, | I/O operator and: Getline/Pipe. (line 55) -* POSIX mode: Options. (line 254) +* POSIX mode: Options. (line 252) * POSIX, awk and: Preface. (line 23) * POSIX, gawk extensions not included in: POSIX/GNU. (line 6) * POSIX, programs, implementing in awk: Clones. (line 6) -* POSIXLY_CORRECT environment variable: Options. (line 340) +* POSIXLY_CORRECT environment variable: Options. (line 338) * PREC variable: User-modified. (line 124) * precedence <1>: Precedence. (line 6) * precedence: Increment Ops. (line 60) @@ -33276,12 +33310,12 @@ Index * Rakitzis, Byron: History Sorting. (line 25) * Ramey, Chet <1>: General Data Types. (line 6) * Ramey, Chet: Acknowledgments. (line 60) -* rand: Numeric Functions. (line 34) +* rand: Numeric Functions. (line 48) * random numbers, Cliff: Cliff Random Function. (line 6) * random numbers, rand()/srand() functions: Numeric Functions. - (line 34) -* random numbers, seed of: Numeric Functions. (line 64) + (line 48) +* random numbers, seed of: Numeric Functions. (line 78) * range expressions (regexps): Bracket Expressions. (line 6) * range patterns: Ranges. (line 6) * range patterns, line continuation and: Ranges. (line 65) @@ -33351,7 +33385,7 @@ Index (line 59) * regular expressions, gawk, command-line options: GNU Regexp Operators. (line 70) -* regular expressions, interval expressions and: Options. (line 279) +* regular expressions, interval expressions and: Options. (line 277) * regular expressions, leftmost longest match: Leftmost Longest. (line 6) * regular expressions, operators <1>: Regexp Operators. (line 6) @@ -33409,7 +33443,7 @@ Index * Robbins, Miriam <2>: Getline/Pipe. (line 39) * Robbins, Miriam: Acknowledgments. (line 82) * Rommel, Kai Uwe: Contributors. (line 42) -* round to nearest integer: Numeric Functions. (line 23) +* round to nearest integer: Numeric Functions. (line 37) * round() user-defined function: Round Function. (line 16) * rounding numbers: Round Function. (line 6) * ROUNDMODE variable: User-modified. (line 128) @@ -33432,7 +33466,7 @@ Index (line 68) * sample debugging session: Sample Debugging Session. (line 6) -* sandbox mode: Options. (line 286) +* sandbox mode: Options. (line 284) * save debugger options: Debugger Info. (line 84) * scalar or array: Type Functions. (line 11) * scalar values: Basic Data Typing. (line 13) @@ -33459,7 +33493,7 @@ Index * sed utility <2>: Simple Sed. (line 6) * sed utility: Field Splitting Summary. (line 46) -* seeding random number generator: Numeric Functions. (line 64) +* seeding random number generator: Numeric Functions. (line 78) * semicolon (;), AWKPATH variable and: PC Using. (line 10) * semicolon (;), separating statements in actions <1>: Statements. (line 10) @@ -33561,8 +33595,8 @@ Index * SIGUSR1 signal, for dynamic profiling: Profiling. (line 188) * silent debugger command: Debugger Execution Control. (line 10) -* sin: Numeric Functions. (line 75) -* sine: Numeric Functions. (line 75) +* sin: Numeric Functions. (line 89) +* sine: Numeric Functions. (line 89) * single quote ('): One-shot. (line 15) * single quote (') in gawk command lines: Long. (line 33) * single quote ('), in shell commands: Quoting. (line 48) @@ -33612,10 +33646,10 @@ Index * sprintf() function, OFMT variable and: User-modified. (line 114) * sprintf() function, print/printf statements and: Round Function. (line 6) -* sqrt: Numeric Functions. (line 78) +* sqrt: Numeric Functions. (line 92) * square brackets ([]), regexp operator: Regexp Operators. (line 56) -* square root: Numeric Functions. (line 78) -* srand: Numeric Functions. (line 82) +* square root: Numeric Functions. (line 92) +* srand: Numeric Functions. (line 96) * stack frame: Debugging Terms. (line 10) * Stallman, Richard <1>: Glossary. (line 296) * Stallman, Richard <2>: Contributors. (line 23) @@ -33904,7 +33938,7 @@ Index * whitespace, as field separators: Default Field Splitting. (line 6) * whitespace, functions, calling: Calling Built-in. (line 10) -* whitespace, newlines as: Options. (line 260) +* whitespace, newlines as: Options. (line 258) * Williams, Kent: Contributors. (line 34) * Woehlke, Matthew: Contributors. (line 79) * Woods, John: Contributors. (line 27) @@ -33956,553 +33990,553 @@ Index Tag Table: -Node: Top1292 -Node: Foreword42034 -Node: Preface46379 -Ref: Preface-Footnote-149526 -Ref: Preface-Footnote-249633 -Node: History49865 -Node: Names52239 -Ref: Names-Footnote-153703 -Node: This Manual53776 -Ref: This Manual-Footnote-159555 -Node: Conventions59655 -Node: Manual History61811 -Ref: Manual History-Footnote-165250 -Ref: Manual History-Footnote-265291 -Node: How To Contribute65365 -Node: Acknowledgments66604 -Node: Getting Started70900 -Node: Running gawk73334 -Node: One-shot74524 -Node: Read Terminal75749 -Ref: Read Terminal-Footnote-177399 -Ref: Read Terminal-Footnote-277675 -Node: Long77846 -Node: Executable Scripts79222 -Ref: Executable Scripts-Footnote-181055 -Ref: Executable Scripts-Footnote-281157 -Node: Comments81704 -Node: Quoting84177 -Node: DOS Quoting89493 -Node: Sample Data Files90168 -Node: Very Simple92683 -Node: Two Rules97321 -Node: More Complex99215 -Ref: More Complex-Footnote-1102147 -Node: Statements/Lines102232 -Ref: Statements/Lines-Footnote-1106688 -Node: Other Features106953 -Node: When107881 -Node: Intro Summary110051 -Node: Invoking Gawk110817 -Node: Command Line112332 -Node: Options113123 -Ref: Options-Footnote-1128952 -Node: Other Arguments128977 -Node: Naming Standard Input131639 -Node: Environment Variables132733 -Node: AWKPATH Variable133291 -Ref: AWKPATH Variable-Footnote-1136163 -Ref: AWKPATH Variable-Footnote-2136208 -Node: AWKLIBPATH Variable136468 -Node: Other Environment Variables137227 -Node: Exit Status140882 -Node: Include Files141557 -Node: Loading Shared Libraries145135 -Node: Obsolete146519 -Node: Undocumented147216 -Node: Invoking Summary147483 -Node: Regexp149063 -Node: Regexp Usage150513 -Node: Escape Sequences152546 -Node: Regexp Operators158213 -Ref: Regexp Operators-Footnote-1165693 -Ref: Regexp Operators-Footnote-2165840 -Node: Bracket Expressions165938 -Ref: table-char-classes167828 -Node: GNU Regexp Operators170351 -Node: Case-sensitivity174074 -Ref: Case-sensitivity-Footnote-1176966 -Ref: Case-sensitivity-Footnote-2177201 -Node: Leftmost Longest177309 -Node: Computed Regexps178510 -Node: Regexp Summary181882 -Node: Reading Files183353 -Node: Records185445 -Node: awk split records186188 -Node: gawk split records191046 -Ref: gawk split records-Footnote-1195567 -Node: Fields195604 -Ref: Fields-Footnote-1198568 -Node: Nonconstant Fields198654 -Ref: Nonconstant Fields-Footnote-1200884 -Node: Changing Fields201086 -Node: Field Separators207040 -Node: Default Field Splitting209742 -Node: Regexp Field Splitting210859 -Node: Single Character Fields214200 -Node: Command Line Field Separator215259 -Node: Full Line Fields218601 -Ref: Full Line Fields-Footnote-1219109 -Node: Field Splitting Summary219155 -Ref: Field Splitting Summary-Footnote-1222254 -Node: Constant Size222355 -Node: Splitting By Content226962 -Ref: Splitting By Content-Footnote-1230712 -Node: Multiple Line230752 -Ref: Multiple Line-Footnote-1236608 -Node: Getline236787 -Node: Plain Getline239003 -Node: Getline/Variable241098 -Node: Getline/File242245 -Node: Getline/Variable/File243629 -Ref: Getline/Variable/File-Footnote-1245228 -Node: Getline/Pipe245315 -Node: Getline/Variable/Pipe248014 -Node: Getline/Coprocess249121 -Node: Getline/Variable/Coprocess250373 -Node: Getline Notes251110 -Node: Getline Summary253914 -Ref: table-getline-variants254322 -Node: Read Timeout255234 -Ref: Read Timeout-Footnote-1259061 -Node: Command line directories259119 -Node: Input Summary260023 -Node: Input Exercises263160 -Node: Printing263893 -Node: Print265615 -Node: Print Examples266956 -Node: Output Separators269735 -Node: OFMT271751 -Node: Printf273109 -Node: Basic Printf274015 -Node: Control Letters275554 -Node: Format Modifiers279406 -Node: Printf Examples285433 -Node: Redirection287897 -Node: Special Files294869 -Node: Special FD295400 -Ref: Special FD-Footnote-1299024 -Node: Special Network299098 -Node: Special Caveats299948 -Node: Close Files And Pipes300744 -Ref: Close Files And Pipes-Footnote-1307905 -Ref: Close Files And Pipes-Footnote-2308053 -Node: Output Summary308203 -Node: Output exercises309200 -Node: Expressions309880 -Node: Values311065 -Node: Constants311741 -Node: Scalar Constants312421 -Ref: Scalar Constants-Footnote-1313280 -Node: Nondecimal-numbers313530 -Node: Regexp Constants316530 -Node: Using Constant Regexps317005 -Node: Variables320075 -Node: Using Variables320730 -Node: Assignment Options322454 -Node: Conversion324329 -Node: Strings And Numbers324853 -Ref: Strings And Numbers-Footnote-1327915 -Node: Locale influences conversions328024 -Ref: table-locale-affects330741 -Node: All Operators331329 -Node: Arithmetic Ops331959 -Node: Concatenation334464 -Ref: Concatenation-Footnote-1337260 -Node: Assignment Ops337380 -Ref: table-assign-ops342363 -Node: Increment Ops343680 -Node: Truth Values and Conditions347118 -Node: Truth Values348201 -Node: Typing and Comparison349250 -Node: Variable Typing350043 -Ref: Variable Typing-Footnote-1353943 -Node: Comparison Operators354065 -Ref: table-relational-ops354475 -Node: POSIX String Comparison358025 -Ref: POSIX String Comparison-Footnote-1359109 -Node: Boolean Ops359247 -Ref: Boolean Ops-Footnote-1363317 -Node: Conditional Exp363408 -Node: Function Calls365135 -Node: Precedence369015 -Node: Locales372684 -Node: Expressions Summary374315 -Node: Patterns and Actions376856 -Node: Pattern Overview377972 -Node: Regexp Patterns379649 -Node: Expression Patterns380192 -Node: Ranges383973 -Node: BEGIN/END387079 -Node: Using BEGIN/END387841 -Ref: Using BEGIN/END-Footnote-1390577 -Node: I/O And BEGIN/END390683 -Node: BEGINFILE/ENDFILE392968 -Node: Empty395899 -Node: Using Shell Variables396216 -Node: Action Overview398499 -Node: Statements400826 -Node: If Statement402674 -Node: While Statement404172 -Node: Do Statement406216 -Node: For Statement407372 -Node: Switch Statement410524 -Node: Break Statement412627 -Node: Continue Statement414682 -Node: Next Statement416475 -Node: Nextfile Statement418865 -Node: Exit Statement421520 -Node: Built-in Variables423924 -Node: User-modified425051 -Ref: User-modified-Footnote-1432740 -Node: Auto-set432802 -Ref: Auto-set-Footnote-1445721 -Ref: Auto-set-Footnote-2445926 -Node: ARGC and ARGV445982 -Node: Pattern Action Summary449836 -Node: Arrays452059 -Node: Array Basics453608 -Node: Array Intro454434 -Ref: figure-array-elements456407 -Node: Reference to Elements458814 -Node: Assigning Elements461087 -Node: Array Example461578 -Node: Scanning an Array463310 -Node: Controlling Scanning466325 -Ref: Controlling Scanning-Footnote-1471498 -Node: Delete471814 -Ref: Delete-Footnote-1474579 -Node: Numeric Array Subscripts474636 -Node: Uninitialized Subscripts476819 -Node: Multidimensional478444 -Node: Multiscanning481537 -Node: Arrays of Arrays483126 -Node: Arrays Summary487789 -Node: Functions489894 -Node: Built-in490767 -Node: Calling Built-in491845 -Node: Numeric Functions493833 -Ref: Numeric Functions-Footnote-1497667 -Ref: Numeric Functions-Footnote-2498024 -Ref: Numeric Functions-Footnote-3498072 -Node: String Functions498341 -Ref: String Functions-Footnote-1521352 -Ref: String Functions-Footnote-2521481 -Ref: String Functions-Footnote-3521729 -Node: Gory Details521816 -Ref: table-sub-escapes523485 -Ref: table-sub-posix-92524839 -Ref: table-sub-proposed526190 -Ref: table-posix-sub527544 -Ref: table-gensub-escapes529089 -Ref: Gory Details-Footnote-1530265 -Ref: Gory Details-Footnote-2530316 -Node: I/O Functions530467 -Ref: I/O Functions-Footnote-1537590 -Node: Time Functions537737 -Ref: Time Functions-Footnote-1548201 -Ref: Time Functions-Footnote-2548269 -Ref: Time Functions-Footnote-3548427 -Ref: Time Functions-Footnote-4548538 -Ref: Time Functions-Footnote-5548650 -Ref: Time Functions-Footnote-6548877 -Node: Bitwise Functions549143 -Ref: table-bitwise-ops549705 -Ref: Bitwise Functions-Footnote-1553950 -Node: Type Functions554134 -Node: I18N Functions555276 -Node: User-defined556921 -Node: Definition Syntax557725 -Ref: Definition Syntax-Footnote-1562904 -Node: Function Example562973 -Ref: Function Example-Footnote-1565617 -Node: Function Caveats565639 -Node: Calling A Function566157 -Node: Variable Scope567112 -Node: Pass By Value/Reference570100 -Node: Return Statement573608 -Node: Dynamic Typing576592 -Node: Indirect Calls577521 -Node: Functions Summary587234 -Node: Library Functions589773 -Ref: Library Functions-Footnote-1593391 -Ref: Library Functions-Footnote-2593534 -Node: Library Names593705 -Ref: Library Names-Footnote-1597178 -Ref: Library Names-Footnote-2597398 -Node: General Functions597484 -Node: Strtonum Function598512 -Node: Assert Function601292 -Node: Round Function604618 -Node: Cliff Random Function606159 -Node: Ordinal Functions607175 -Ref: Ordinal Functions-Footnote-1610252 -Ref: Ordinal Functions-Footnote-2610504 -Node: Join Function610715 -Ref: Join Function-Footnote-1612486 -Node: Getlocaltime Function612686 -Node: Readfile Function616422 -Node: Data File Management618261 -Node: Filetrans Function618893 -Node: Rewind Function622962 -Node: File Checking624349 -Ref: File Checking-Footnote-1625481 -Node: Empty Files625682 -Node: Ignoring Assigns627661 -Node: Getopt Function629215 -Ref: Getopt Function-Footnote-1640518 -Node: Passwd Functions640721 -Ref: Passwd Functions-Footnote-1649700 -Node: Group Functions649788 -Ref: Group Functions-Footnote-1657729 -Node: Walking Arrays657942 -Node: Library Functions Summary659545 -Node: Library exercises660933 -Node: Sample Programs662213 -Node: Running Examples662983 -Node: Clones663711 -Node: Cut Program664935 -Node: Egrep Program674803 -Ref: Egrep Program-Footnote-1682774 -Node: Id Program682884 -Node: Split Program686548 -Ref: Split Program-Footnote-1690086 -Node: Tee Program690214 -Node: Uniq Program693021 -Node: Wc Program700451 -Ref: Wc Program-Footnote-1704716 -Node: Miscellaneous Programs704808 -Node: Dupword Program706021 -Node: Alarm Program708052 -Node: Translate Program712866 -Ref: Translate Program-Footnote-1717257 -Ref: Translate Program-Footnote-2717527 -Node: Labels Program717661 -Ref: Labels Program-Footnote-1721032 -Node: Word Sorting721116 -Node: History Sorting725159 -Node: Extract Program726995 -Node: Simple Sed734531 -Node: Igawk Program737593 -Ref: Igawk Program-Footnote-1751904 -Ref: Igawk Program-Footnote-2752105 -Node: Anagram Program752243 -Node: Signature Program755311 -Node: Programs Summary756558 -Node: Programs Exercises757773 -Node: Advanced Features761424 -Node: Nondecimal Data763372 -Node: Array Sorting764949 -Node: Controlling Array Traversal765646 -Node: Array Sorting Functions773926 -Ref: Array Sorting Functions-Footnote-1777833 -Node: Two-way I/O778027 -Ref: Two-way I/O-Footnote-1783543 -Node: TCP/IP Networking783625 -Node: Profiling786469 -Node: Advanced Features Summary794011 -Node: Internationalization795875 -Node: I18N and L10N797355 -Node: Explaining gettext798041 -Ref: Explaining gettext-Footnote-1803181 -Ref: Explaining gettext-Footnote-2803365 -Node: Programmer i18n803530 -Node: Translator i18n807755 -Node: String Extraction808549 -Ref: String Extraction-Footnote-1809510 -Node: Printf Ordering809596 -Ref: Printf Ordering-Footnote-1812378 -Node: I18N Portability812442 -Ref: I18N Portability-Footnote-1814891 -Node: I18N Example814954 -Ref: I18N Example-Footnote-1817676 -Node: Gawk I18N817748 -Node: I18N Summary818386 -Node: Debugger819725 -Node: Debugging820747 -Node: Debugging Concepts821188 -Node: Debugging Terms823044 -Node: Awk Debugging825641 -Node: Sample Debugging Session826533 -Node: Debugger Invocation827053 -Node: Finding The Bug828386 -Node: List of Debugger Commands834868 -Node: Breakpoint Control836200 -Node: Debugger Execution Control839864 -Node: Viewing And Changing Data843224 -Node: Execution Stack846582 -Node: Debugger Info848095 -Node: Miscellaneous Debugger Commands852089 -Node: Readline Support857273 -Node: Limitations858165 -Node: Debugging Summary860439 -Node: Arbitrary Precision Arithmetic861603 -Node: Computer Arithmetic862932 -Ref: Computer Arithmetic-Footnote-1867319 -Node: Math Definitions867376 -Ref: table-ieee-formats870260 -Node: MPFR features870764 -Node: FP Math Caution872406 -Ref: FP Math Caution-Footnote-1873447 -Node: Inexactness of computations873816 -Node: Inexact representation874764 -Node: Comparing FP Values876119 -Node: Errors accumulate877083 -Node: Getting Accuracy878516 -Node: Try To Round881175 -Node: Setting precision882074 -Ref: table-predefined-precision-strings882756 -Node: Setting the rounding mode884549 -Ref: table-gawk-rounding-modes884913 -Ref: Setting the rounding mode-Footnote-1888367 -Node: Arbitrary Precision Integers888546 -Ref: Arbitrary Precision Integers-Footnote-1891549 -Node: POSIX Floating Point Problems891698 -Ref: POSIX Floating Point Problems-Footnote-1895574 -Node: Floating point summary895612 -Node: Dynamic Extensions897829 -Node: Extension Intro899381 -Node: Plugin License900646 -Node: Extension Mechanism Outline901331 -Ref: figure-load-extension901755 -Ref: figure-load-new-function903240 -Ref: figure-call-new-function904242 -Node: Extension API Description906226 -Node: Extension API Functions Introduction907676 -Node: General Data Types912541 -Ref: General Data Types-Footnote-1918234 -Node: Requesting Values918533 -Ref: table-value-types-returned919270 -Node: Memory Allocation Functions920228 -Ref: Memory Allocation Functions-Footnote-1922975 -Node: Constructor Functions923071 -Node: Registration Functions924829 -Node: Extension Functions925514 -Node: Exit Callback Functions927816 -Node: Extension Version String929065 -Node: Input Parsers929715 -Node: Output Wrappers939518 -Node: Two-way processors944034 -Node: Printing Messages946238 -Ref: Printing Messages-Footnote-1947315 -Node: Updating `ERRNO'947467 -Node: Accessing Parameters948206 -Node: Symbol Table Access949436 -Node: Symbol table by name949950 -Node: Symbol table by cookie951926 -Ref: Symbol table by cookie-Footnote-1956059 -Node: Cached values956122 -Ref: Cached values-Footnote-1959626 -Node: Array Manipulation959717 -Ref: Array Manipulation-Footnote-1960815 -Node: Array Data Types960854 -Ref: Array Data Types-Footnote-1963557 -Node: Array Functions963649 -Node: Flattening Arrays967523 -Node: Creating Arrays974375 -Node: Extension API Variables979106 -Node: Extension Versioning979742 -Node: Extension API Informational Variables981643 -Node: Extension API Boilerplate982729 -Node: Finding Extensions986533 -Node: Extension Example987093 -Node: Internal File Description987823 -Node: Internal File Ops991914 -Ref: Internal File Ops-Footnote-11003346 -Node: Using Internal File Ops1003486 -Ref: Using Internal File Ops-Footnote-11005833 -Node: Extension Samples1006101 -Node: Extension Sample File Functions1007625 -Node: Extension Sample Fnmatch1015193 -Node: Extension Sample Fork1016675 -Node: Extension Sample Inplace1017888 -Node: Extension Sample Ord1019563 -Node: Extension Sample Readdir1020399 -Ref: table-readdir-file-types1021255 -Node: Extension Sample Revout1022054 -Node: Extension Sample Rev2way1022645 -Node: Extension Sample Read write array1023386 -Node: Extension Sample Readfile1025265 -Node: Extension Sample API Tests1026365 -Node: Extension Sample Time1026890 -Node: gawkextlib1028205 -Node: Extension summary1031018 -Node: Extension Exercises1034711 -Node: Language History1035433 -Node: V7/SVR3.11037076 -Node: SVR41039396 -Node: POSIX1040838 -Node: BTL1042224 -Node: POSIX/GNU1042958 -Node: Feature History1048557 -Node: Common Extensions1061687 -Node: Ranges and Locales1062999 -Ref: Ranges and Locales-Footnote-11067616 -Ref: Ranges and Locales-Footnote-21067643 -Ref: Ranges and Locales-Footnote-31067877 -Node: Contributors1068098 -Node: History summary1073523 -Node: Installation1074892 -Node: Gawk Distribution1075843 -Node: Getting1076327 -Node: Extracting1077151 -Node: Distribution contents1078793 -Node: Unix Installation1084510 -Node: Quick Installation1085127 -Node: Additional Configuration Options1087569 -Node: Configuration Philosophy1089307 -Node: Non-Unix Installation1091658 -Node: PC Installation1092116 -Node: PC Binary Installation1093427 -Node: PC Compiling1095275 -Ref: PC Compiling-Footnote-11098274 -Node: PC Testing1098379 -Node: PC Using1099555 -Node: Cygwin1103713 -Node: MSYS1104522 -Node: VMS Installation1105036 -Node: VMS Compilation1105832 -Ref: VMS Compilation-Footnote-11107054 -Node: VMS Dynamic Extensions1107112 -Node: VMS Installation Details1108485 -Node: VMS Running1110737 -Node: VMS GNV1113571 -Node: VMS Old Gawk1114294 -Node: Bugs1114764 -Node: Other Versions1118768 -Node: Installation summary1125023 -Node: Notes1126079 -Node: Compatibility Mode1126944 -Node: Additions1127726 -Node: Accessing The Source1128651 -Node: Adding Code1130087 -Node: New Ports1136265 -Node: Derived Files1140746 -Ref: Derived Files-Footnote-11145827 -Ref: Derived Files-Footnote-21145861 -Ref: Derived Files-Footnote-31146457 -Node: Future Extensions1146571 -Node: Implementation Limitations1147177 -Node: Extension Design1148425 -Node: Old Extension Problems1149579 -Ref: Old Extension Problems-Footnote-11151096 -Node: Extension New Mechanism Goals1151153 -Ref: Extension New Mechanism Goals-Footnote-11154513 -Node: Extension Other Design Decisions1154702 -Node: Extension Future Growth1156808 -Node: Old Extension Mechanism1157644 -Node: Notes summary1159406 -Node: Basic Concepts1160592 -Node: Basic High Level1161273 -Ref: figure-general-flow1161545 -Ref: figure-process-flow1162144 -Ref: Basic High Level-Footnote-11165373 -Node: Basic Data Typing1165558 -Node: Glossary1168886 -Node: Copying1194038 -Node: GNU Free Documentation License1231594 -Node: Index1256730 +Node: Top1204 +Node: Foreword41858 +Node: Preface46203 +Ref: Preface-Footnote-149350 +Ref: Preface-Footnote-249457 +Node: History49689 +Node: Names52063 +Ref: Names-Footnote-153527 +Node: This Manual53600 +Ref: This Manual-Footnote-159379 +Node: Conventions59479 +Node: Manual History61635 +Ref: Manual History-Footnote-165074 +Ref: Manual History-Footnote-265115 +Node: How To Contribute65189 +Node: Acknowledgments66428 +Node: Getting Started70724 +Node: Running gawk73158 +Node: One-shot74348 +Node: Read Terminal75573 +Ref: Read Terminal-Footnote-177223 +Ref: Read Terminal-Footnote-277499 +Node: Long77670 +Node: Executable Scripts79046 +Ref: Executable Scripts-Footnote-180879 +Ref: Executable Scripts-Footnote-280981 +Node: Comments81528 +Node: Quoting84001 +Node: DOS Quoting89317 +Node: Sample Data Files89992 +Node: Very Simple92507 +Node: Two Rules97145 +Node: More Complex99039 +Ref: More Complex-Footnote-1101971 +Node: Statements/Lines102056 +Ref: Statements/Lines-Footnote-1106512 +Node: Other Features106777 +Node: When107705 +Node: Intro Summary109875 +Node: Invoking Gawk110641 +Node: Command Line112156 +Node: Options112947 +Ref: Options-Footnote-1128647 +Node: Other Arguments128672 +Node: Naming Standard Input131334 +Node: Environment Variables132428 +Node: AWKPATH Variable132986 +Ref: AWKPATH Variable-Footnote-1135858 +Ref: AWKPATH Variable-Footnote-2135903 +Node: AWKLIBPATH Variable136163 +Node: Other Environment Variables136922 +Node: Exit Status140372 +Node: Include Files141047 +Node: Loading Shared Libraries144625 +Node: Obsolete146009 +Node: Undocumented146706 +Node: Invoking Summary146973 +Node: Regexp148553 +Node: Regexp Usage150003 +Node: Escape Sequences152036 +Node: Regexp Operators157703 +Ref: Regexp Operators-Footnote-1165183 +Ref: Regexp Operators-Footnote-2165330 +Node: Bracket Expressions165428 +Ref: table-char-classes167318 +Node: GNU Regexp Operators170258 +Node: Case-sensitivity173981 +Ref: Case-sensitivity-Footnote-1176873 +Ref: Case-sensitivity-Footnote-2177108 +Node: Leftmost Longest177216 +Node: Computed Regexps178417 +Node: Regexp Summary181789 +Node: Reading Files183260 +Node: Records185352 +Node: awk split records186095 +Node: gawk split records190953 +Ref: gawk split records-Footnote-1195474 +Node: Fields195511 +Ref: Fields-Footnote-1198475 +Node: Nonconstant Fields198561 +Ref: Nonconstant Fields-Footnote-1200791 +Node: Changing Fields200993 +Node: Field Separators206947 +Node: Default Field Splitting209649 +Node: Regexp Field Splitting210766 +Node: Single Character Fields214107 +Node: Command Line Field Separator215166 +Node: Full Line Fields218508 +Ref: Full Line Fields-Footnote-1219016 +Node: Field Splitting Summary219062 +Ref: Field Splitting Summary-Footnote-1222161 +Node: Constant Size222262 +Node: Splitting By Content226869 +Ref: Splitting By Content-Footnote-1230619 +Node: Multiple Line230659 +Ref: Multiple Line-Footnote-1236515 +Node: Getline236694 +Node: Plain Getline238910 +Node: Getline/Variable241005 +Node: Getline/File242152 +Node: Getline/Variable/File243536 +Ref: Getline/Variable/File-Footnote-1245135 +Node: Getline/Pipe245222 +Node: Getline/Variable/Pipe247921 +Node: Getline/Coprocess249028 +Node: Getline/Variable/Coprocess250280 +Node: Getline Notes251017 +Node: Getline Summary253821 +Ref: table-getline-variants254229 +Node: Read Timeout255141 +Ref: Read Timeout-Footnote-1258968 +Node: Command line directories259026 +Node: Input Summary259930 +Node: Input Exercises263067 +Node: Printing263800 +Node: Print265522 +Node: Print Examples266863 +Node: Output Separators269642 +Node: OFMT271658 +Node: Printf273016 +Node: Basic Printf273922 +Node: Control Letters275461 +Node: Format Modifiers279313 +Node: Printf Examples285340 +Node: Redirection287804 +Node: Special Files294776 +Node: Special FD295307 +Ref: Special FD-Footnote-1298931 +Node: Special Network299005 +Node: Special Caveats299855 +Node: Close Files And Pipes300651 +Ref: Close Files And Pipes-Footnote-1307812 +Ref: Close Files And Pipes-Footnote-2307960 +Node: Output Summary308110 +Node: Output exercises309107 +Node: Expressions309787 +Node: Values310972 +Node: Constants311648 +Node: Scalar Constants312328 +Ref: Scalar Constants-Footnote-1313187 +Node: Nondecimal-numbers313437 +Node: Regexp Constants316437 +Node: Using Constant Regexps316912 +Node: Variables319982 +Node: Using Variables320637 +Node: Assignment Options322361 +Node: Conversion324236 +Node: Strings And Numbers324760 +Ref: Strings And Numbers-Footnote-1327822 +Node: Locale influences conversions327931 +Ref: table-locale-affects330648 +Node: All Operators331236 +Node: Arithmetic Ops331866 +Node: Concatenation334371 +Ref: Concatenation-Footnote-1337167 +Node: Assignment Ops337287 +Ref: table-assign-ops342270 +Node: Increment Ops343587 +Node: Truth Values and Conditions347025 +Node: Truth Values348108 +Node: Typing and Comparison349157 +Node: Variable Typing349950 +Ref: Variable Typing-Footnote-1353850 +Node: Comparison Operators353972 +Ref: table-relational-ops354382 +Node: POSIX String Comparison357932 +Ref: POSIX String Comparison-Footnote-1359016 +Node: Boolean Ops359154 +Ref: Boolean Ops-Footnote-1363224 +Node: Conditional Exp363315 +Node: Function Calls365042 +Node: Precedence368922 +Node: Locales372591 +Node: Expressions Summary374222 +Node: Patterns and Actions376763 +Node: Pattern Overview377879 +Node: Regexp Patterns379556 +Node: Expression Patterns380099 +Node: Ranges383880 +Node: BEGIN/END386986 +Node: Using BEGIN/END387748 +Ref: Using BEGIN/END-Footnote-1390484 +Node: I/O And BEGIN/END390590 +Node: BEGINFILE/ENDFILE392875 +Node: Empty395806 +Node: Using Shell Variables396123 +Node: Action Overview398406 +Node: Statements400733 +Node: If Statement402581 +Node: While Statement404079 +Node: Do Statement406123 +Node: For Statement407279 +Node: Switch Statement410431 +Node: Break Statement412534 +Node: Continue Statement414589 +Node: Next Statement416382 +Node: Nextfile Statement418772 +Node: Exit Statement421427 +Node: Built-in Variables423831 +Node: User-modified424958 +Ref: User-modified-Footnote-1432647 +Node: Auto-set432709 +Ref: Auto-set-Footnote-1445628 +Ref: Auto-set-Footnote-2445833 +Node: ARGC and ARGV445889 +Node: Pattern Action Summary449743 +Node: Arrays451966 +Node: Array Basics453515 +Node: Array Intro454341 +Ref: figure-array-elements456314 +Node: Reference to Elements458721 +Node: Assigning Elements460994 +Node: Array Example461485 +Node: Scanning an Array463217 +Node: Controlling Scanning466232 +Ref: Controlling Scanning-Footnote-1471405 +Node: Delete471721 +Ref: Delete-Footnote-1474486 +Node: Numeric Array Subscripts474543 +Node: Uninitialized Subscripts476726 +Node: Multidimensional478351 +Node: Multiscanning481444 +Node: Arrays of Arrays483033 +Node: Arrays Summary487696 +Node: Functions489801 +Node: Built-in490674 +Node: Calling Built-in491752 +Node: Numeric Functions493740 +Ref: Numeric Functions-Footnote-1498318 +Ref: Numeric Functions-Footnote-2498675 +Ref: Numeric Functions-Footnote-3498723 +Node: String Functions498992 +Ref: String Functions-Footnote-1522003 +Ref: String Functions-Footnote-2522132 +Ref: String Functions-Footnote-3522380 +Node: Gory Details522467 +Ref: table-sub-escapes524136 +Ref: table-sub-posix-92525490 +Ref: table-sub-proposed526841 +Ref: table-posix-sub528195 +Ref: table-gensub-escapes529740 +Ref: Gory Details-Footnote-1530916 +Ref: Gory Details-Footnote-2530967 +Node: I/O Functions531118 +Ref: I/O Functions-Footnote-1538241 +Node: Time Functions538388 +Ref: Time Functions-Footnote-1548852 +Ref: Time Functions-Footnote-2548920 +Ref: Time Functions-Footnote-3549078 +Ref: Time Functions-Footnote-4549189 +Ref: Time Functions-Footnote-5549301 +Ref: Time Functions-Footnote-6549528 +Node: Bitwise Functions549794 +Ref: table-bitwise-ops550356 +Ref: Bitwise Functions-Footnote-1554601 +Node: Type Functions554785 +Node: I18N Functions555927 +Node: User-defined557572 +Node: Definition Syntax558376 +Ref: Definition Syntax-Footnote-1563555 +Node: Function Example563624 +Ref: Function Example-Footnote-1566268 +Node: Function Caveats566290 +Node: Calling A Function566808 +Node: Variable Scope567763 +Node: Pass By Value/Reference570751 +Node: Return Statement574259 +Node: Dynamic Typing577243 +Node: Indirect Calls578172 +Node: Functions Summary587885 +Node: Library Functions590424 +Ref: Library Functions-Footnote-1594042 +Ref: Library Functions-Footnote-2594185 +Node: Library Names594356 +Ref: Library Names-Footnote-1597829 +Ref: Library Names-Footnote-2598049 +Node: General Functions598135 +Node: Strtonum Function599163 +Node: Assert Function601943 +Node: Round Function605269 +Node: Cliff Random Function606810 +Node: Ordinal Functions607826 +Ref: Ordinal Functions-Footnote-1610903 +Ref: Ordinal Functions-Footnote-2611155 +Node: Join Function611366 +Ref: Join Function-Footnote-1613137 +Node: Getlocaltime Function613337 +Node: Readfile Function617073 +Node: Data File Management618912 +Node: Filetrans Function619544 +Node: Rewind Function623613 +Node: File Checking625000 +Ref: File Checking-Footnote-1626132 +Node: Empty Files626333 +Node: Ignoring Assigns628312 +Node: Getopt Function629866 +Ref: Getopt Function-Footnote-1641169 +Node: Passwd Functions641372 +Ref: Passwd Functions-Footnote-1650351 +Node: Group Functions650439 +Ref: Group Functions-Footnote-1658380 +Node: Walking Arrays658593 +Node: Library Functions Summary660196 +Node: Library exercises661584 +Node: Sample Programs662864 +Node: Running Examples663634 +Node: Clones664362 +Node: Cut Program665586 +Node: Egrep Program675454 +Ref: Egrep Program-Footnote-1683425 +Node: Id Program683535 +Node: Split Program687199 +Ref: Split Program-Footnote-1690737 +Node: Tee Program690865 +Node: Uniq Program693672 +Node: Wc Program701102 +Ref: Wc Program-Footnote-1705367 +Node: Miscellaneous Programs705459 +Node: Dupword Program706672 +Node: Alarm Program708703 +Node: Translate Program713517 +Ref: Translate Program-Footnote-1717908 +Ref: Translate Program-Footnote-2718178 +Node: Labels Program718312 +Ref: Labels Program-Footnote-1721683 +Node: Word Sorting721767 +Node: History Sorting725810 +Node: Extract Program727646 +Node: Simple Sed735182 +Node: Igawk Program738244 +Ref: Igawk Program-Footnote-1752555 +Ref: Igawk Program-Footnote-2752756 +Node: Anagram Program752894 +Node: Signature Program755962 +Node: Programs Summary757209 +Node: Programs Exercises758424 +Node: Advanced Features762075 +Node: Nondecimal Data764023 +Node: Array Sorting765600 +Node: Controlling Array Traversal766297 +Node: Array Sorting Functions774577 +Ref: Array Sorting Functions-Footnote-1778484 +Node: Two-way I/O778678 +Ref: Two-way I/O-Footnote-1784194 +Node: TCP/IP Networking784276 +Node: Profiling787120 +Node: Advanced Features Summary794671 +Node: Internationalization796535 +Node: I18N and L10N798015 +Node: Explaining gettext798701 +Ref: Explaining gettext-Footnote-1803841 +Ref: Explaining gettext-Footnote-2804025 +Node: Programmer i18n804190 +Node: Translator i18n808415 +Node: String Extraction809209 +Ref: String Extraction-Footnote-1810170 +Node: Printf Ordering810256 +Ref: Printf Ordering-Footnote-1813038 +Node: I18N Portability813102 +Ref: I18N Portability-Footnote-1815551 +Node: I18N Example815614 +Ref: I18N Example-Footnote-1818336 +Node: Gawk I18N818408 +Node: I18N Summary819046 +Node: Debugger820385 +Node: Debugging821407 +Node: Debugging Concepts821848 +Node: Debugging Terms823704 +Node: Awk Debugging826301 +Node: Sample Debugging Session827193 +Node: Debugger Invocation827713 +Node: Finding The Bug829046 +Node: List of Debugger Commands835528 +Node: Breakpoint Control836860 +Node: Debugger Execution Control840524 +Node: Viewing And Changing Data843884 +Node: Execution Stack847242 +Node: Debugger Info848755 +Node: Miscellaneous Debugger Commands852749 +Node: Readline Support857933 +Node: Limitations858825 +Node: Debugging Summary861099 +Node: Arbitrary Precision Arithmetic862263 +Node: Computer Arithmetic863592 +Ref: Computer Arithmetic-Footnote-1867979 +Node: Math Definitions868036 +Ref: table-ieee-formats870920 +Node: MPFR features871424 +Node: FP Math Caution873066 +Ref: FP Math Caution-Footnote-1874107 +Node: Inexactness of computations874476 +Node: Inexact representation875424 +Node: Comparing FP Values876779 +Node: Errors accumulate877743 +Node: Getting Accuracy879176 +Node: Try To Round881835 +Node: Setting precision882734 +Ref: table-predefined-precision-strings883416 +Node: Setting the rounding mode885209 +Ref: table-gawk-rounding-modes885573 +Ref: Setting the rounding mode-Footnote-1889027 +Node: Arbitrary Precision Integers889206 +Ref: Arbitrary Precision Integers-Footnote-1893001 +Node: POSIX Floating Point Problems893150 +Ref: POSIX Floating Point Problems-Footnote-1897026 +Node: Floating point summary897064 +Node: Dynamic Extensions899281 +Node: Extension Intro900833 +Node: Plugin License902098 +Node: Extension Mechanism Outline902783 +Ref: figure-load-extension903207 +Ref: figure-load-new-function904692 +Ref: figure-call-new-function905694 +Node: Extension API Description907678 +Node: Extension API Functions Introduction909128 +Node: General Data Types913993 +Ref: General Data Types-Footnote-1919686 +Node: Requesting Values919985 +Ref: table-value-types-returned920722 +Node: Memory Allocation Functions921680 +Ref: Memory Allocation Functions-Footnote-1924427 +Node: Constructor Functions924523 +Node: Registration Functions926281 +Node: Extension Functions926966 +Node: Exit Callback Functions929268 +Node: Extension Version String930517 +Node: Input Parsers931167 +Node: Output Wrappers940970 +Node: Two-way processors945486 +Node: Printing Messages947690 +Ref: Printing Messages-Footnote-1948767 +Node: Updating `ERRNO'948919 +Node: Accessing Parameters949658 +Node: Symbol Table Access950888 +Node: Symbol table by name951402 +Node: Symbol table by cookie953378 +Ref: Symbol table by cookie-Footnote-1957511 +Node: Cached values957574 +Ref: Cached values-Footnote-1961078 +Node: Array Manipulation961169 +Ref: Array Manipulation-Footnote-1962267 +Node: Array Data Types962306 +Ref: Array Data Types-Footnote-1965009 +Node: Array Functions965101 +Node: Flattening Arrays968975 +Node: Creating Arrays975827 +Node: Extension API Variables980558 +Node: Extension Versioning981194 +Node: Extension API Informational Variables983095 +Node: Extension API Boilerplate984181 +Node: Finding Extensions987985 +Node: Extension Example988545 +Node: Internal File Description989275 +Node: Internal File Ops993366 +Ref: Internal File Ops-Footnote-11004798 +Node: Using Internal File Ops1004938 +Ref: Using Internal File Ops-Footnote-11007285 +Node: Extension Samples1007553 +Node: Extension Sample File Functions1009077 +Node: Extension Sample Fnmatch1016645 +Node: Extension Sample Fork1018127 +Node: Extension Sample Inplace1019340 +Node: Extension Sample Ord1021015 +Node: Extension Sample Readdir1021851 +Ref: table-readdir-file-types1022707 +Node: Extension Sample Revout1023506 +Node: Extension Sample Rev2way1024097 +Node: Extension Sample Read write array1024838 +Node: Extension Sample Readfile1026717 +Node: Extension Sample API Tests1027817 +Node: Extension Sample Time1028342 +Node: gawkextlib1029657 +Node: Extension summary1032470 +Node: Extension Exercises1036163 +Node: Language History1036885 +Node: V7/SVR3.11038528 +Node: SVR41040848 +Node: POSIX1042290 +Node: BTL1043676 +Node: POSIX/GNU1044410 +Node: Feature History1050009 +Node: Common Extensions1063139 +Node: Ranges and Locales1064451 +Ref: Ranges and Locales-Footnote-11069068 +Ref: Ranges and Locales-Footnote-21069095 +Ref: Ranges and Locales-Footnote-31069329 +Node: Contributors1069550 +Node: History summary1074975 +Node: Installation1076344 +Node: Gawk Distribution1077295 +Node: Getting1077779 +Node: Extracting1078603 +Node: Distribution contents1080245 +Node: Unix Installation1086015 +Node: Quick Installation1086632 +Node: Additional Configuration Options1089074 +Node: Configuration Philosophy1090812 +Node: Non-Unix Installation1093163 +Node: PC Installation1093621 +Node: PC Binary Installation1094932 +Node: PC Compiling1096780 +Ref: PC Compiling-Footnote-11099779 +Node: PC Testing1099884 +Node: PC Using1101060 +Node: Cygwin1105218 +Node: MSYS1106027 +Node: VMS Installation1106541 +Node: VMS Compilation1107337 +Ref: VMS Compilation-Footnote-11108559 +Node: VMS Dynamic Extensions1108617 +Node: VMS Installation Details1109990 +Node: VMS Running1112242 +Node: VMS GNV1115076 +Node: VMS Old Gawk1115799 +Node: Bugs1116269 +Node: Other Versions1120273 +Node: Installation summary1126528 +Node: Notes1127584 +Node: Compatibility Mode1128449 +Node: Additions1129231 +Node: Accessing The Source1130156 +Node: Adding Code1131592 +Node: New Ports1137770 +Node: Derived Files1142251 +Ref: Derived Files-Footnote-11147332 +Ref: Derived Files-Footnote-21147366 +Ref: Derived Files-Footnote-31147962 +Node: Future Extensions1148076 +Node: Implementation Limitations1148682 +Node: Extension Design1149930 +Node: Old Extension Problems1151084 +Ref: Old Extension Problems-Footnote-11152601 +Node: Extension New Mechanism Goals1152658 +Ref: Extension New Mechanism Goals-Footnote-11156018 +Node: Extension Other Design Decisions1156207 +Node: Extension Future Growth1158313 +Node: Old Extension Mechanism1159149 +Node: Notes summary1160911 +Node: Basic Concepts1162097 +Node: Basic High Level1162778 +Ref: figure-general-flow1163050 +Ref: figure-process-flow1163649 +Ref: Basic High Level-Footnote-11166878 +Node: Basic Data Typing1167063 +Node: Glossary1170391 +Node: Copying1195543 +Node: GNU Free Documentation License1233099 +Node: Index1258235 End Tag Table |