diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 882 |
1 files changed, 451 insertions, 431 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 9fba2e1f..b8f5df60 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -11043,6 +11043,27 @@ they are not special: after it has finished parsing the program; they are _not_ updated while the program runs. + 'PROCINFO["platform"]' + This element gives a string indicating the platform for which + 'gawk' was compiled. The value will be one of the following: + + '"vms"' + OpenVMS or Vax/VMS. + + '"djgpp"' + '"mingw"' + Microsoft Windows, using either DJGPP or MinGW, + respectively. + + '"os2"' + OS/2. + + '"os390"' + OS/390. + + '"posix"' + GNU/Linux, Cygwin, Mac OS X, and legacy Unix systems. + 'PROCINFO["pgrpid"]' The process group ID of the current process. @@ -11169,15 +11190,14 @@ they are not special: test if an element in 'SYMTAB' is an array. Also, you may not use the 'delete' statement with the 'SYMTAB' array. - You may use an index for 'SYMTAB' that is not a predefined - identifier: + Prior to version 5.0 of 'gawk', you could use an index for 'SYMTAB' + that was not a predefined identifier: SYMTAB["xxx"] = 5 print SYMTAB["xxx"] - This works as expected: in this case 'SYMTAB' acts just like a - regular array. The only difference is that you can't then delete - 'SYMTAB["xxx"]'. + This no longer works, instead producing a fatal error, as it led to + rampant confusion. The 'SYMTAB' array is more interesting than it looks. Andrew Schorr points out that it effectively gives 'awk' data pointers. @@ -20774,7 +20794,8 @@ output. They are as follows: structure of the program and the precedence rules. For example, '(3 + 5) * 4' means add three and five, then multiply the total by four. However, '3 + 5 * 4' has no parentheses, and means '3 + (5 * - 4)'. + 4)'. However, explicit parentheses in the source program are + retained. * Parentheses are used around the arguments to 'print' and 'printf' only when the 'print' or 'printf' statement is followed by a @@ -20796,10 +20817,11 @@ representation. Also, things such as: come out as: /foo/ { - print $0 + print } -which is correct, but possibly unexpected. +which is correct, but possibly unexpected. (If a program uses both +'print $0' and plain 'print', that distinction is retained.) Besides creating profiles when a program has completed, 'gawk' can produce a profile while it is running. This is useful if your 'awk' @@ -20855,7 +20877,10 @@ without any execution counts. profiling, and that created when pretty-printing. Pretty-printed output preserves the original comments that were in the program, although their placement may not correspond exactly to their original locations in the -source code.(1) +source code. However, no comments should be lost. Also, 'gawk' does +the best it can to preserve the distinction between comments at the end +of a statement and comments on lines by themselves. This isn't always +perfect, though. However, as a deliberate design decision, profiling output _omits_ the original program's comments. This allows you to focus on the @@ -20875,14 +20900,6 @@ disable 'gawk''s default optimizations. constants; if you used an octal or hexadecimal value in your source code, it will appear that way in the output. - ---------- Footnotes ---------- - - (1) 'gawk' does the best it can to preserve the distinction between -comments at the end of a statement and comments on lines by themselves. -Due to implementation constraints, it does not always do so correctly, -particularly for 'switch' statements. The 'gawk' maintainers hope to -improve this in a subsequent release. - File: gawk.info, Node: Advanced Features Summary, Prev: Profiling, Up: Advanced Features @@ -28422,6 +28439,11 @@ POSIX 'awk', in the order they were added to 'gawk'. * Support for GNU/Linux on Alpha was removed. + Version 5.0 added the following features: + + * The 'PROCINFO["platform"]' array element, which allows you to write + code that takes the operating system / platform into account. + File: gawk.info, Node: Common Extensions, Next: Ranges and Locales, Prev: Feature History, Up: Language History @@ -29187,10 +29209,6 @@ command line when compiling 'gawk' from scratch, including: possible to keep extensions for different API versions on the same system without their conflicting with one another. -'--with-whiny-user-strftime' - Force use of the included version of the C 'strftime()' function - for deficient systems. - Use the command './configure --help' to see the full list of options supplied by 'configure'. @@ -29356,6 +29374,12 @@ accomplished by using an appropriate '-v BINMODE=N' option on the command line. 'BINMODE' is set at the time a file or pipe is opened and cannot be changed midstream. + On POSIX-compatible systems, this variable's value has no effect. +Thus, if you think your program will run on multiple different systems +and that you may need to use 'BINMODE', you should simply set it (in the +program or on the command line) unconditionally, and not worry about the +operating system on which your program is running. + The name 'BINMODE' was chosen to match 'mawk' (*note Other Versions::). 'mawk' and 'gawk' handle 'BINMODE' similarly; however, 'mawk' adds a '-W BINMODE=N' option and an environment variable that can @@ -33112,8 +33136,6 @@ Index * --traditional option, --posix option and: Options. (line 285) * --use-lc-numeric option: Options. (line 232) * --version option: Options. (line 317) -* --with-whiny-user-strftime configuration option: Additional Configuration Options. - (line 48) * -b option: Options. (line 69) * -c option: Options. (line 82) * -C option: Options. (line 89) @@ -33821,8 +33843,6 @@ Index (line 37) * configuration option, --enable-versioned-extension-dir: Additional Configuration Options. (line 42) -* configuration option, --with-whiny-user-strftime: Additional Configuration Options. - (line 48) * configuration options, gawk: Additional Configuration Options. (line 6) * constant regexps: Regexp Usage. (line 57) @@ -33897,7 +33917,7 @@ Index * dark corner, field separators: Full Line Fields. (line 22) * dark corner, FILENAME variable: Getline Notes. (line 19) * dark corner, FILENAME variable <1>: Auto-set. (line 108) -* dark corner, FNR/NR variables: Auto-set. (line 389) +* dark corner, FNR/NR variables: Auto-set. (line 409) * dark corner, format-control characters: Control Letters. (line 33) * dark corner, format-control characters <1>: Control Letters. (line 108) @@ -34160,7 +34180,7 @@ Index (line 6) * differences in awk and gawk, RS/RT variables: gawk split records. (line 58) -* differences in awk and gawk, RT variable: Auto-set. (line 327) +* differences in awk and gawk, RT variable: Auto-set. (line 348) * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split() function: String Functions. @@ -34169,7 +34189,7 @@ Index * differences in awk and gawk, strings <1>: Scalar Constants. (line 53) * differences in awk and gawk, strings, storing: gawk split records. (line 76) -* differences in awk and gawk, SYMTAB variable: Auto-set. (line 331) +* differences in awk and gawk, SYMTAB variable: Auto-set. (line 352) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. (line 155) * differences in awk and gawk, trunc-mod operation: Arithmetic Ops. @@ -34206,7 +34226,7 @@ Index * dump debugger command: Miscellaneous Debugger Commands. (line 9) * dupword.awk program: Dupword Program. (line 31) -* dynamic profiling: Profiling. (line 177) +* dynamic profiling: Profiling. (line 179) * dynamically loaded extensions: Dynamic Extensions. (line 6) * e debugger command (alias for enable): Breakpoint Control. (line 73) * EBCDIC: Ordinal Functions. (line 45) @@ -34335,7 +34355,7 @@ Index (line 6) * extension API version: Extension Versioning. (line 6) -* extension API, version number: Auto-set. (line 266) +* extension API, version number: Auto-set. (line 287) * extension example: Extension Example. (line 6) * extension registration: Registration Functions. (line 6) @@ -34494,7 +34514,7 @@ Index (line 12) * FNR variable: Records. (line 6) * FNR variable <1>: Auto-set. (line 118) -* FNR variable, changing: Auto-set. (line 389) +* FNR variable, changing: Auto-set. (line 409) * for statement: For Statement. (line 6) * for statement, looping over arrays: Scanning an Array. (line 20) * fork() extension function: Extension Sample Fork. @@ -34597,8 +34617,8 @@ Index * G., Daniel Richard: Acknowledgments. (line 60) * G., Daniel Richard <1>: Maintainers. (line 14) * Garfinkle, Scott: Contributors. (line 35) -* gawk program, dynamic profiling: Profiling. (line 177) -* gawk version: Auto-set. (line 241) +* gawk program, dynamic profiling: Profiling. (line 179) +* gawk version: Auto-set. (line 262) * gawk, ARGIND variable in: Other Arguments. (line 15) * gawk, awk and: Preface. (line 21) * gawk, awk and <1>: This Manual. (line 14) @@ -34674,13 +34694,13 @@ Index * gawk, regular expressions, precedence: Regexp Operators. (line 161) * gawk, RT variable in: awk split records. (line 131) * gawk, RT variable in <1>: Multiple Line. (line 130) -* gawk, RT variable in <2>: Auto-set. (line 327) +* gawk, RT variable in <2>: Auto-set. (line 348) * gawk, See Also awk: Preface. (line 34) * gawk, source code, obtaining: Getting. (line 6) * gawk, splitting fields and: Testing field creation. (line 6) * gawk, string-translation functions: I18N Functions. (line 6) -* gawk, SYMTAB array in: Auto-set. (line 331) +* gawk, SYMTAB array in: Auto-set. (line 352) * gawk, TEXTDOMAIN variable in: User-modified. (line 155) * gawk, timestamps: Time Functions. (line 6) * gawk, uses for: Preface. (line 34) @@ -34804,7 +34824,7 @@ Index * history expansion, in debugger: Readline Support. (line 6) * histsort.awk program: History Sorting. (line 25) * Hughes, Phil: Acknowledgments. (line 43) -* HUP signal, for dynamic profiling: Profiling. (line 209) +* HUP signal, for dynamic profiling: Profiling. (line 211) * hyphen (-), - operator: Precedence. (line 51) * hyphen (-), - operator <1>: Precedence. (line 57) * hyphen (-), -- operator: Increment Ops. (line 48) @@ -34886,7 +34906,7 @@ Index * installing gawk: Installation. (line 6) * instruction tracing, in debugger: Debugger Info. (line 90) * int: Numeric Functions. (line 24) -* INT signal (MS-Windows): Profiling. (line 212) +* INT signal (MS-Windows): Profiling. (line 214) * integer array indices: Numeric Array Subscripts. (line 31) * integers, arbitrary precision: Arbitrary Precision Integers. @@ -34942,7 +34962,7 @@ Index * Kernighan, Brian <8>: Other Versions. (line 13) * Kernighan, Brian <9>: Basic Data Typing. (line 54) * Kernighan, Brian <10>: Glossary. (line 204) -* kill command, dynamic profiling: Profiling. (line 186) +* kill command, dynamic profiling: Profiling. (line 188) * Knights, jedi: Undocumented. (line 6) * Kwok, Conrad: Contributors. (line 35) * l debugger command (alias for list): Miscellaneous Debugger Commands. @@ -35080,7 +35100,7 @@ Index * mawk utility <2>: Concatenation. (line 36) * mawk utility <3>: Nextfile Statement. (line 47) * mawk utility <4>: Other Versions. (line 39) -* maximum precision supported by MPFR library: Auto-set. (line 255) +* maximum precision supported by MPFR library: Auto-set. (line 276) * McIlroy, Doug: Glossary. (line 255) * McPhee, Patrick: Contributors. (line 103) * message object files: Explaining gettext. (line 42) @@ -35093,7 +35113,7 @@ Index * messages from extensions: Printing Messages. (line 6) * metacharacters in regular expressions: Regexp Operators. (line 6) * metacharacters, escape sequences for: Escape Sequences. (line 140) -* minimum precision required by MPFR library: Auto-set. (line 258) +* minimum precision required by MPFR library: Auto-set. (line 279) * mktime: Time Functions. (line 25) * modifiers, in format specifiers: Format Modifiers. (line 6) * monetary information, localization: Explaining gettext. (line 104) @@ -35152,7 +35172,7 @@ Index * not Boolean-logic operator: Boolean Ops. (line 6) * NR variable: Records. (line 6) * NR variable <1>: Auto-set. (line 143) -* NR variable, changing: Auto-set. (line 389) +* NR variable, changing: Auto-set. (line 409) * null strings: awk split records. (line 121) * null strings <1>: Regexp Field Splitting. (line 43) @@ -35272,7 +35292,7 @@ Index * p debugger command (alias for print): Viewing And Changing Data. (line 35) * Papadopoulos, Panos: Contributors. (line 131) -* parent process ID of gawk process: Auto-set. (line 230) +* parent process ID of gawk process: Auto-set. (line 251) * parentheses (), in a profile: Profiling. (line 146) * parentheses (), regexp operator: Regexp Operators. (line 81) * password file: Passwd Functions. (line 16) @@ -35305,6 +35325,7 @@ Index * pipe, output: Redirection. (line 57) * Pitts, Dave: Acknowledgments. (line 60) * Pitts, Dave <1>: Maintainers. (line 14) +* platform running on, PROCINFO["platform"]: Auto-set. (line 224) * Plauger, P.J.: Library Functions. (line 12) * plug-in: Extension Intro. (line 6) * plus sign (+), + operator: Precedence. (line 51) @@ -35441,8 +35462,8 @@ Index * printing, unduplicated lines of text: Uniq Program. (line 6) * printing, user information: Id Program. (line 6) * private variables: Library Names. (line 11) -* process group ID of gawk process: Auto-set. (line 224) -* process ID of gawk process: Auto-set. (line 227) +* process group ID of gawk process: Auto-set. (line 245) +* process ID of gawk process: Auto-set. (line 248) * processes, two-way communications with: Two-way I/O. (line 6) * processing data: Basic High Level. (line 6) * PROCINFO array: Auto-set. (line 148) @@ -35456,7 +35477,7 @@ Index * PROCINFO, values of sorted_in: Controlling Scanning. (line 26) * profiling awk programs: Profiling. (line 6) -* profiling awk programs, dynamically: Profiling. (line 177) +* profiling awk programs, dynamically: Profiling. (line 179) * program identifiers: Auto-set. (line 193) * program, definition of: Getting Started. (line 21) * programming conventions, --non-decimal-data option: Nondecimal Data. @@ -35493,7 +35514,7 @@ Index * QuikTrim Awk: Other Versions. (line 143) * quit debugger command: Miscellaneous Debugger Commands. (line 100) -* QUIT signal (MS-Windows): Profiling. (line 212) +* QUIT signal (MS-Windows): Profiling. (line 214) * quoting in gawk command lines: Long. (line 26) * quoting in gawk command lines, tricks for: Quoting. (line 91) * quoting, for small awk programs: Comments. (line 27) @@ -35619,7 +35640,7 @@ Index * right shift: Bitwise Functions. (line 54) * right shift, bitwise: Bitwise Functions. (line 32) * Ritchie, Dennis: Basic Data Typing. (line 54) -* RLENGTH variable: Auto-set. (line 314) +* RLENGTH variable: Auto-set. (line 335) * RLENGTH variable, match() function and: String Functions. (line 228) * Robbins, Arnold: Command Line Field Separator. (line 71) @@ -35647,11 +35668,11 @@ Index * RS variable <1>: User-modified. (line 136) * RS variable, multiline records and: Multiple Line. (line 17) * rshift: Bitwise Functions. (line 54) -* RSTART variable: Auto-set. (line 320) +* RSTART variable: Auto-set. (line 341) * RSTART variable, match() function and: String Functions. (line 228) * RT variable: awk split records. (line 131) * RT variable <1>: Multiple Line. (line 130) -* RT variable <2>: Auto-set. (line 327) +* RT variable <2>: Auto-set. (line 348) * Rubin, Paul: History. (line 30) * Rubin, Paul <1>: Contributors. (line 16) * rule, definition of: Getting Started. (line 21) @@ -35669,7 +35690,7 @@ Index * scanning arrays: Scanning an Array. (line 6) * scanning multidimensional arrays: Multiscanning. (line 11) * Schorr, Andrew: Acknowledgments. (line 60) -* Schorr, Andrew <1>: Auto-set. (line 359) +* Schorr, Andrew <1>: Auto-set. (line 379) * Schorr, Andrew <2>: Contributors. (line 136) * Schreiber, Bert: Acknowledgments. (line 38) * Schreiber, Rita: Acknowledgments. (line 38) @@ -35755,7 +35776,7 @@ Index * sidebar, Beware The Smoke and Mirrors!: Bitwise Functions. (line 127) * sidebar, Changing FS Does Not Affect the Fields: Full Line Fields. (line 14) -* sidebar, Changing NR and FNR: Auto-set. (line 387) +* sidebar, Changing NR and FNR: Auto-set. (line 407) * sidebar, Controlling Output Buffering with system(): I/O Functions. (line 166) * sidebar, Escape Sequences for Metacharacters: Escape Sequences. @@ -35783,15 +35804,15 @@ Index (line 130) * sidebar, Using \n in Bracket Expressions of Dynamic Regexps: Computed Regexps. (line 58) -* SIGHUP signal, for dynamic profiling: Profiling. (line 209) -* SIGINT signal (MS-Windows): Profiling. (line 212) -* signals, HUP/SIGHUP, for profiling: Profiling. (line 209) -* signals, INT/SIGINT (MS-Windows): Profiling. (line 212) -* signals, QUIT/SIGQUIT (MS-Windows): Profiling. (line 212) -* signals, USR1/SIGUSR1, for profiling: Profiling. (line 186) +* SIGHUP signal, for dynamic profiling: Profiling. (line 211) +* SIGINT signal (MS-Windows): Profiling. (line 214) +* signals, HUP/SIGHUP, for profiling: Profiling. (line 211) +* signals, INT/SIGINT (MS-Windows): Profiling. (line 214) +* signals, QUIT/SIGQUIT (MS-Windows): Profiling. (line 214) +* signals, USR1/SIGUSR1, for profiling: Profiling. (line 188) * signature program: Signature Program. (line 6) -* SIGQUIT signal (MS-Windows): Profiling. (line 212) -* SIGUSR1 signal, for dynamic profiling: Profiling. (line 186) +* SIGQUIT signal (MS-Windows): Profiling. (line 214) +* SIGUSR1 signal, for dynamic profiling: Profiling. (line 188) * silent debugger command: Debugger Execution Control. (line 10) * sin: Numeric Functions. (line 75) @@ -35923,9 +35944,9 @@ Index * substr: String Functions. (line 487) * substring: String Functions. (line 487) * Sumner, Andrew: Other Versions. (line 64) -* supplementary groups of gawk process: Auto-set. (line 271) +* supplementary groups of gawk process: Auto-set. (line 292) * switch statement: Switch Statement. (line 6) -* SYMTAB array: Auto-set. (line 331) +* SYMTAB array: Auto-set. (line 352) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. (line 149) * system: I/O Functions. (line 106) @@ -36072,7 +36093,7 @@ Index * user-modifiable variables: User-modified. (line 6) * users, information about, printing: Id Program. (line 6) * users, information about, retrieving: Passwd Functions. (line 16) -* USR1 signal, for dynamic profiling: Profiling. (line 186) +* USR1 signal, for dynamic profiling: Profiling. (line 188) * values, numeric: Basic Data Typing. (line 13) * values, string: Basic Data Typing. (line 13) * variable assignments and input files: Other Arguments. (line 26) @@ -36107,10 +36128,10 @@ Index * variables, uninitialized, as array subscripts: Uninitialized Subscripts. (line 6) * variables, user-defined: Variables. (line 6) -* version of gawk: Auto-set. (line 241) -* version of gawk extension API: Auto-set. (line 266) -* version of GNU MP library: Auto-set. (line 249) -* version of GNU MPFR library: Auto-set. (line 251) +* version of gawk: Auto-set. (line 262) +* version of gawk extension API: Auto-set. (line 287) +* version of GNU MP library: Auto-set. (line 270) +* version of GNU MPFR library: Auto-set. (line 272) * vertical bar (|): Regexp Operators. (line 70) * vertical bar (|), | operator (I/O): Getline/Pipe. (line 10) * vertical bar (|), | operator (I/O) <1>: Precedence. (line 64) @@ -36389,370 +36410,369 @@ Node: Exit Statement454653 Node: Built-in Variables457056 Node: User-modified458189 Node: Auto-set465956 -Ref: Auto-set-Footnote-1482258 -Ref: Auto-set-Footnote-2482464 -Node: ARGC and ARGV482520 -Node: Pattern Action Summary486733 -Node: Arrays489163 -Node: Array Basics490492 -Node: Array Intro491336 -Ref: figure-array-elements493311 -Ref: Array Intro-Footnote-1496015 -Node: Reference to Elements496143 -Node: Assigning Elements498607 -Node: Array Example499098 -Node: Scanning an Array500857 -Node: Controlling Scanning503879 -Ref: Controlling Scanning-Footnote-1509278 -Node: Numeric Array Subscripts509594 -Node: Uninitialized Subscripts511778 -Node: Delete513397 -Ref: Delete-Footnote-1516149 -Node: Multidimensional516206 -Node: Multiscanning519301 -Node: Arrays of Arrays520892 -Node: Arrays Summary525660 -Node: Functions527753 -Node: Built-in528791 -Node: Calling Built-in529872 -Node: Numeric Functions531868 -Ref: Numeric Functions-Footnote-1535896 -Ref: Numeric Functions-Footnote-2536253 -Ref: Numeric Functions-Footnote-3536301 -Node: String Functions536573 -Ref: String Functions-Footnote-1560431 -Ref: String Functions-Footnote-2560559 -Ref: String Functions-Footnote-3560807 -Node: Gory Details560894 -Ref: table-sub-escapes562685 -Ref: table-sub-proposed564204 -Ref: table-posix-sub565567 -Ref: table-gensub-escapes567108 -Ref: Gory Details-Footnote-1567931 -Node: I/O Functions568085 -Ref: table-system-return-values574553 -Ref: I/O Functions-Footnote-1576633 -Ref: I/O Functions-Footnote-2576781 -Node: Time Functions576901 -Ref: Time Functions-Footnote-1587572 -Ref: Time Functions-Footnote-2587640 -Ref: Time Functions-Footnote-3587798 -Ref: Time Functions-Footnote-4587909 -Ref: Time Functions-Footnote-5588021 -Ref: Time Functions-Footnote-6588248 -Node: Bitwise Functions588514 -Ref: table-bitwise-ops589108 -Ref: Bitwise Functions-Footnote-1595171 -Ref: Bitwise Functions-Footnote-2595344 -Node: Type Functions595535 -Node: I18N Functions598286 -Node: User-defined599937 -Node: Definition Syntax600742 -Ref: Definition Syntax-Footnote-1606429 -Node: Function Example606500 -Ref: Function Example-Footnote-1609422 -Node: Function Caveats609444 -Node: Calling A Function609962 -Node: Variable Scope610920 -Node: Pass By Value/Reference613914 -Node: Return Statement617413 -Node: Dynamic Typing620392 -Node: Indirect Calls621322 -Ref: Indirect Calls-Footnote-1631574 -Node: Functions Summary631702 -Node: Library Functions634407 -Ref: Library Functions-Footnote-1638014 -Ref: Library Functions-Footnote-2638157 -Node: Library Names638328 -Ref: Library Names-Footnote-1641788 -Ref: Library Names-Footnote-2642011 -Node: General Functions642097 -Node: Strtonum Function643200 -Node: Assert Function646222 -Node: Round Function649548 -Node: Cliff Random Function651088 -Node: Ordinal Functions652104 -Ref: Ordinal Functions-Footnote-1655167 -Ref: Ordinal Functions-Footnote-2655419 -Node: Join Function655629 -Ref: Join Function-Footnote-1657399 -Node: Getlocaltime Function657599 -Node: Readfile Function661341 -Node: Shell Quoting663318 -Node: Data File Management664719 -Node: Filetrans Function665351 -Node: Rewind Function669447 -Node: File Checking671357 -Ref: File Checking-Footnote-1672691 -Node: Empty Files672892 -Node: Ignoring Assigns674871 -Node: Getopt Function676421 -Ref: Getopt Function-Footnote-1687890 -Node: Passwd Functions688090 -Ref: Passwd Functions-Footnote-1696929 -Node: Group Functions697017 -Ref: Group Functions-Footnote-1704915 -Node: Walking Arrays705122 -Node: Library Functions Summary708130 -Node: Library Exercises709536 -Node: Sample Programs710001 -Node: Running Examples710771 -Node: Clones711499 -Node: Cut Program712723 -Node: Egrep Program722652 -Ref: Egrep Program-Footnote-1730164 -Node: Id Program730274 -Node: Split Program733954 -Ref: Split Program-Footnote-1737412 -Node: Tee Program737541 -Node: Uniq Program740331 -Node: Wc Program747757 -Ref: Wc Program-Footnote-1752012 -Node: Miscellaneous Programs752106 -Node: Dupword Program753319 -Node: Alarm Program755349 -Node: Translate Program760204 -Ref: Translate Program-Footnote-1764769 -Node: Labels Program765039 -Ref: Labels Program-Footnote-1768390 -Node: Word Sorting768474 -Node: History Sorting772546 -Node: Extract Program774381 -Node: Simple Sed782435 -Node: Igawk Program785509 -Ref: Igawk Program-Footnote-1799840 -Ref: Igawk Program-Footnote-2800042 -Ref: Igawk Program-Footnote-3800164 -Node: Anagram Program800279 -Node: Signature Program803341 -Node: Programs Summary804588 -Node: Programs Exercises805802 -Ref: Programs Exercises-Footnote-1809931 -Node: Advanced Features810022 -Node: Nondecimal Data812012 -Node: Array Sorting813603 -Node: Controlling Array Traversal814303 -Ref: Controlling Array Traversal-Footnote-1822671 -Node: Array Sorting Functions822789 -Ref: Array Sorting Functions-Footnote-1827880 -Node: Two-way I/O828076 -Ref: Two-way I/O-Footnote-1835796 -Ref: Two-way I/O-Footnote-2835983 -Node: TCP/IP Networking836065 -Node: Profiling839183 -Ref: Profiling-Footnote-1847855 -Node: Advanced Features Summary848178 -Node: Internationalization850022 -Node: I18N and L10N851502 -Node: Explaining gettext852189 -Ref: Explaining gettext-Footnote-1858081 -Ref: Explaining gettext-Footnote-2858266 -Node: Programmer i18n858431 -Ref: Programmer i18n-Footnote-1863380 -Node: Translator i18n863429 -Node: String Extraction864223 -Ref: String Extraction-Footnote-1865355 -Node: Printf Ordering865441 -Ref: Printf Ordering-Footnote-1868227 -Node: I18N Portability868291 -Ref: I18N Portability-Footnote-1870747 -Node: I18N Example870810 -Ref: I18N Example-Footnote-1873616 -Node: Gawk I18N873689 -Node: I18N Summary874334 -Node: Debugger875675 -Node: Debugging876695 -Node: Debugging Concepts877136 -Node: Debugging Terms878945 -Node: Awk Debugging881520 -Ref: Awk Debugging-Footnote-1882465 -Node: Sample Debugging Session882597 -Node: Debugger Invocation883131 -Node: Finding The Bug884517 -Node: List of Debugger Commands890991 -Node: Breakpoint Control892324 -Node: Debugger Execution Control896018 -Node: Viewing And Changing Data899380 -Node: Execution Stack902754 -Node: Debugger Info904391 -Node: Miscellaneous Debugger Commands908462 -Node: Readline Support913524 -Node: Limitations914420 -Node: Debugging Summary916529 -Node: Arbitrary Precision Arithmetic917808 -Node: Computer Arithmetic919293 -Ref: table-numeric-ranges923059 -Ref: table-floating-point-ranges923552 -Ref: Computer Arithmetic-Footnote-1924210 -Node: Math Definitions924267 -Ref: table-ieee-formats927583 -Ref: Math Definitions-Footnote-1928186 -Node: MPFR features928291 -Node: FP Math Caution930009 -Ref: FP Math Caution-Footnote-1931081 -Node: Inexactness of computations931450 -Node: Inexact representation932410 -Node: Comparing FP Values933770 -Node: Errors accumulate935011 -Node: Getting Accuracy936444 -Node: Try To Round939154 -Node: Setting precision940053 -Ref: table-predefined-precision-strings940750 -Node: Setting the rounding mode942580 -Ref: table-gawk-rounding-modes942954 -Ref: Setting the rounding mode-Footnote-1946885 -Node: Arbitrary Precision Integers947064 -Ref: Arbitrary Precision Integers-Footnote-1950239 -Node: Checking for MPFR950388 -Node: POSIX Floating Point Problems951862 -Ref: POSIX Floating Point Problems-Footnote-1956147 -Node: Floating point summary956185 -Node: Dynamic Extensions958375 -Node: Extension Intro959928 -Node: Plugin License961194 -Node: Extension Mechanism Outline961991 -Ref: figure-load-extension962430 -Ref: figure-register-new-function963995 -Ref: figure-call-new-function965087 -Node: Extension API Description967149 -Node: Extension API Functions Introduction968791 -Node: General Data Types974331 -Ref: General Data Types-Footnote-1982692 -Node: Memory Allocation Functions982991 -Ref: Memory Allocation Functions-Footnote-1987201 -Node: Constructor Functions987300 -Node: Registration Functions990886 -Node: Extension Functions991571 -Node: Exit Callback Functions996786 -Node: Extension Version String998036 -Node: Input Parsers998699 -Node: Output Wrappers1011420 -Node: Two-way processors1015932 -Node: Printing Messages1018197 -Ref: Printing Messages-Footnote-11019368 -Node: Updating ERRNO1019521 -Node: Requesting Values1020260 -Ref: table-value-types-returned1020997 -Node: Accessing Parameters1021933 -Node: Symbol Table Access1023168 -Node: Symbol table by name1023680 -Node: Symbol table by cookie1025469 -Ref: Symbol table by cookie-Footnote-11029654 -Node: Cached values1029718 -Ref: Cached values-Footnote-11033254 -Node: Array Manipulation1033407 -Ref: Array Manipulation-Footnote-11034498 -Node: Array Data Types1034535 -Ref: Array Data Types-Footnote-11037193 -Node: Array Functions1037285 -Node: Flattening Arrays1041783 -Node: Creating Arrays1048759 -Node: Redirection API1053526 -Node: Extension API Variables1056359 -Node: Extension Versioning1057070 -Ref: gawk-api-version1057499 -Node: Extension GMP/MPFR Versioning1059230 -Node: Extension API Informational Variables1060858 -Node: Extension API Boilerplate1061931 -Node: Changes from API V11065905 -Node: Finding Extensions1067477 -Node: Extension Example1068036 -Node: Internal File Description1068834 -Node: Internal File Ops1072914 -Ref: Internal File Ops-Footnote-11084264 -Node: Using Internal File Ops1084404 -Ref: Using Internal File Ops-Footnote-11086787 -Node: Extension Samples1087061 -Node: Extension Sample File Functions1088590 -Node: Extension Sample Fnmatch1096239 -Node: Extension Sample Fork1097726 -Node: Extension Sample Inplace1098944 -Node: Extension Sample Ord1102161 -Node: Extension Sample Readdir1102997 -Ref: table-readdir-file-types1103886 -Node: Extension Sample Revout1104691 -Node: Extension Sample Rev2way1105280 -Node: Extension Sample Read write array1106020 -Node: Extension Sample Readfile1107962 -Node: Extension Sample Time1109057 -Node: Extension Sample API Tests1110405 -Node: gawkextlib1110897 -Node: Extension summary1113815 -Node: Extension Exercises1117517 -Node: Language History1119015 -Node: V7/SVR3.11120671 -Node: SVR41122823 -Node: POSIX1124257 -Node: BTL1125637 -Node: POSIX/GNU1126366 -Node: Feature History1132144 -Node: Common Extensions1148003 -Node: Ranges and Locales1149286 -Ref: Ranges and Locales-Footnote-11153902 -Ref: Ranges and Locales-Footnote-21153929 -Ref: Ranges and Locales-Footnote-31154164 -Node: Contributors1154385 -Node: History summary1160330 -Node: Installation1161710 -Node: Gawk Distribution1162654 -Node: Getting1163138 -Node: Extracting1164101 -Node: Distribution contents1165739 -Node: Unix Installation1172219 -Node: Quick Installation1172901 -Node: Shell Startup Files1175315 -Node: Additional Configuration Options1176404 -Node: Configuration Philosophy1178697 -Node: Non-Unix Installation1181066 -Node: PC Installation1181526 -Node: PC Binary Installation1182364 -Node: PC Compiling1182799 -Node: PC Using1183916 -Node: Cygwin1187131 -Node: MSYS1188230 -Node: VMS Installation1188731 -Node: VMS Compilation1189522 -Ref: VMS Compilation-Footnote-11190751 -Node: VMS Dynamic Extensions1190809 -Node: VMS Installation Details1192494 -Node: VMS Running1194747 -Node: VMS GNV1199026 -Node: VMS Old Gawk1199761 -Node: Bugs1200232 -Node: Bug address1200895 -Node: Usenet1203877 -Node: Maintainers1204881 -Node: Other Versions1206142 -Node: Installation summary1213056 -Node: Notes1214258 -Node: Compatibility Mode1215052 -Node: Additions1215834 -Node: Accessing The Source1216759 -Node: Adding Code1218196 -Node: New Ports1224415 -Node: Derived Files1228903 -Ref: Derived Files-Footnote-11234549 -Ref: Derived Files-Footnote-21234584 -Ref: Derived Files-Footnote-31235182 -Node: Future Extensions1235296 -Node: Implementation Limitations1235954 -Node: Extension Design1237137 -Node: Old Extension Problems1238281 -Ref: Old Extension Problems-Footnote-11239799 -Node: Extension New Mechanism Goals1239856 -Ref: Extension New Mechanism Goals-Footnote-11243220 -Node: Extension Other Design Decisions1243409 -Node: Extension Future Growth1245522 -Node: Notes summary1246358 -Node: Basic Concepts1247533 -Node: Basic High Level1248214 -Ref: figure-general-flow1248496 -Ref: figure-process-flow1249181 -Ref: Basic High Level-Footnote-11252482 -Node: Basic Data Typing1252667 -Node: Glossary1255995 -Node: Copying1287833 -Node: GNU Free Documentation License1325376 -Node: Index1350496 +Ref: Auto-set-Footnote-1482763 +Ref: Auto-set-Footnote-2482969 +Node: ARGC and ARGV483025 +Node: Pattern Action Summary487238 +Node: Arrays489668 +Node: Array Basics490997 +Node: Array Intro491841 +Ref: figure-array-elements493816 +Ref: Array Intro-Footnote-1496520 +Node: Reference to Elements496648 +Node: Assigning Elements499112 +Node: Array Example499603 +Node: Scanning an Array501362 +Node: Controlling Scanning504384 +Ref: Controlling Scanning-Footnote-1509783 +Node: Numeric Array Subscripts510099 +Node: Uninitialized Subscripts512283 +Node: Delete513902 +Ref: Delete-Footnote-1516654 +Node: Multidimensional516711 +Node: Multiscanning519806 +Node: Arrays of Arrays521397 +Node: Arrays Summary526165 +Node: Functions528258 +Node: Built-in529296 +Node: Calling Built-in530377 +Node: Numeric Functions532373 +Ref: Numeric Functions-Footnote-1536401 +Ref: Numeric Functions-Footnote-2536758 +Ref: Numeric Functions-Footnote-3536806 +Node: String Functions537078 +Ref: String Functions-Footnote-1560936 +Ref: String Functions-Footnote-2561064 +Ref: String Functions-Footnote-3561312 +Node: Gory Details561399 +Ref: table-sub-escapes563190 +Ref: table-sub-proposed564709 +Ref: table-posix-sub566072 +Ref: table-gensub-escapes567613 +Ref: Gory Details-Footnote-1568436 +Node: I/O Functions568590 +Ref: table-system-return-values575058 +Ref: I/O Functions-Footnote-1577138 +Ref: I/O Functions-Footnote-2577286 +Node: Time Functions577406 +Ref: Time Functions-Footnote-1588077 +Ref: Time Functions-Footnote-2588145 +Ref: Time Functions-Footnote-3588303 +Ref: Time Functions-Footnote-4588414 +Ref: Time Functions-Footnote-5588526 +Ref: Time Functions-Footnote-6588753 +Node: Bitwise Functions589019 +Ref: table-bitwise-ops589613 +Ref: Bitwise Functions-Footnote-1595676 +Ref: Bitwise Functions-Footnote-2595849 +Node: Type Functions596040 +Node: I18N Functions598791 +Node: User-defined600442 +Node: Definition Syntax601247 +Ref: Definition Syntax-Footnote-1606934 +Node: Function Example607005 +Ref: Function Example-Footnote-1609927 +Node: Function Caveats609949 +Node: Calling A Function610467 +Node: Variable Scope611425 +Node: Pass By Value/Reference614419 +Node: Return Statement617918 +Node: Dynamic Typing620897 +Node: Indirect Calls621827 +Ref: Indirect Calls-Footnote-1632079 +Node: Functions Summary632207 +Node: Library Functions634912 +Ref: Library Functions-Footnote-1638519 +Ref: Library Functions-Footnote-2638662 +Node: Library Names638833 +Ref: Library Names-Footnote-1642293 +Ref: Library Names-Footnote-2642516 +Node: General Functions642602 +Node: Strtonum Function643705 +Node: Assert Function646727 +Node: Round Function650053 +Node: Cliff Random Function651593 +Node: Ordinal Functions652609 +Ref: Ordinal Functions-Footnote-1655672 +Ref: Ordinal Functions-Footnote-2655924 +Node: Join Function656134 +Ref: Join Function-Footnote-1657904 +Node: Getlocaltime Function658104 +Node: Readfile Function661846 +Node: Shell Quoting663823 +Node: Data File Management665224 +Node: Filetrans Function665856 +Node: Rewind Function669952 +Node: File Checking671862 +Ref: File Checking-Footnote-1673196 +Node: Empty Files673397 +Node: Ignoring Assigns675376 +Node: Getopt Function676926 +Ref: Getopt Function-Footnote-1688395 +Node: Passwd Functions688595 +Ref: Passwd Functions-Footnote-1697434 +Node: Group Functions697522 +Ref: Group Functions-Footnote-1705420 +Node: Walking Arrays705627 +Node: Library Functions Summary708635 +Node: Library Exercises710041 +Node: Sample Programs710506 +Node: Running Examples711276 +Node: Clones712004 +Node: Cut Program713228 +Node: Egrep Program723157 +Ref: Egrep Program-Footnote-1730669 +Node: Id Program730779 +Node: Split Program734459 +Ref: Split Program-Footnote-1737917 +Node: Tee Program738046 +Node: Uniq Program740836 +Node: Wc Program748262 +Ref: Wc Program-Footnote-1752517 +Node: Miscellaneous Programs752611 +Node: Dupword Program753824 +Node: Alarm Program755854 +Node: Translate Program760709 +Ref: Translate Program-Footnote-1765274 +Node: Labels Program765544 +Ref: Labels Program-Footnote-1768895 +Node: Word Sorting768979 +Node: History Sorting773051 +Node: Extract Program774886 +Node: Simple Sed782940 +Node: Igawk Program786014 +Ref: Igawk Program-Footnote-1800345 +Ref: Igawk Program-Footnote-2800547 +Ref: Igawk Program-Footnote-3800669 +Node: Anagram Program800784 +Node: Signature Program803846 +Node: Programs Summary805093 +Node: Programs Exercises806307 +Ref: Programs Exercises-Footnote-1810436 +Node: Advanced Features810527 +Node: Nondecimal Data812517 +Node: Array Sorting814108 +Node: Controlling Array Traversal814808 +Ref: Controlling Array Traversal-Footnote-1823176 +Node: Array Sorting Functions823294 +Ref: Array Sorting Functions-Footnote-1828385 +Node: Two-way I/O828581 +Ref: Two-way I/O-Footnote-1836301 +Ref: Two-way I/O-Footnote-2836488 +Node: TCP/IP Networking836570 +Node: Profiling839688 +Node: Advanced Features Summary848693 +Node: Internationalization850537 +Node: I18N and L10N852017 +Node: Explaining gettext852704 +Ref: Explaining gettext-Footnote-1858596 +Ref: Explaining gettext-Footnote-2858781 +Node: Programmer i18n858946 +Ref: Programmer i18n-Footnote-1863895 +Node: Translator i18n863944 +Node: String Extraction864738 +Ref: String Extraction-Footnote-1865870 +Node: Printf Ordering865956 +Ref: Printf Ordering-Footnote-1868742 +Node: I18N Portability868806 +Ref: I18N Portability-Footnote-1871262 +Node: I18N Example871325 +Ref: I18N Example-Footnote-1874131 +Node: Gawk I18N874204 +Node: I18N Summary874849 +Node: Debugger876190 +Node: Debugging877210 +Node: Debugging Concepts877651 +Node: Debugging Terms879460 +Node: Awk Debugging882035 +Ref: Awk Debugging-Footnote-1882980 +Node: Sample Debugging Session883112 +Node: Debugger Invocation883646 +Node: Finding The Bug885032 +Node: List of Debugger Commands891506 +Node: Breakpoint Control892839 +Node: Debugger Execution Control896533 +Node: Viewing And Changing Data899895 +Node: Execution Stack903269 +Node: Debugger Info904906 +Node: Miscellaneous Debugger Commands908977 +Node: Readline Support914039 +Node: Limitations914935 +Node: Debugging Summary917044 +Node: Arbitrary Precision Arithmetic918323 +Node: Computer Arithmetic919808 +Ref: table-numeric-ranges923574 +Ref: table-floating-point-ranges924067 +Ref: Computer Arithmetic-Footnote-1924725 +Node: Math Definitions924782 +Ref: table-ieee-formats928098 +Ref: Math Definitions-Footnote-1928701 +Node: MPFR features928806 +Node: FP Math Caution930524 +Ref: FP Math Caution-Footnote-1931596 +Node: Inexactness of computations931965 +Node: Inexact representation932925 +Node: Comparing FP Values934285 +Node: Errors accumulate935526 +Node: Getting Accuracy936959 +Node: Try To Round939669 +Node: Setting precision940568 +Ref: table-predefined-precision-strings941265 +Node: Setting the rounding mode943095 +Ref: table-gawk-rounding-modes943469 +Ref: Setting the rounding mode-Footnote-1947400 +Node: Arbitrary Precision Integers947579 +Ref: Arbitrary Precision Integers-Footnote-1950754 +Node: Checking for MPFR950903 +Node: POSIX Floating Point Problems952377 +Ref: POSIX Floating Point Problems-Footnote-1956662 +Node: Floating point summary956700 +Node: Dynamic Extensions958890 +Node: Extension Intro960443 +Node: Plugin License961709 +Node: Extension Mechanism Outline962506 +Ref: figure-load-extension962945 +Ref: figure-register-new-function964510 +Ref: figure-call-new-function965602 +Node: Extension API Description967664 +Node: Extension API Functions Introduction969306 +Node: General Data Types974846 +Ref: General Data Types-Footnote-1983207 +Node: Memory Allocation Functions983506 +Ref: Memory Allocation Functions-Footnote-1987716 +Node: Constructor Functions987815 +Node: Registration Functions991401 +Node: Extension Functions992086 +Node: Exit Callback Functions997301 +Node: Extension Version String998551 +Node: Input Parsers999214 +Node: Output Wrappers1011935 +Node: Two-way processors1016447 +Node: Printing Messages1018712 +Ref: Printing Messages-Footnote-11019883 +Node: Updating ERRNO1020036 +Node: Requesting Values1020775 +Ref: table-value-types-returned1021512 +Node: Accessing Parameters1022448 +Node: Symbol Table Access1023683 +Node: Symbol table by name1024195 +Node: Symbol table by cookie1025984 +Ref: Symbol table by cookie-Footnote-11030169 +Node: Cached values1030233 +Ref: Cached values-Footnote-11033769 +Node: Array Manipulation1033922 +Ref: Array Manipulation-Footnote-11035013 +Node: Array Data Types1035050 +Ref: Array Data Types-Footnote-11037708 +Node: Array Functions1037800 +Node: Flattening Arrays1042298 +Node: Creating Arrays1049274 +Node: Redirection API1054041 +Node: Extension API Variables1056874 +Node: Extension Versioning1057585 +Ref: gawk-api-version1058014 +Node: Extension GMP/MPFR Versioning1059745 +Node: Extension API Informational Variables1061373 +Node: Extension API Boilerplate1062446 +Node: Changes from API V11066420 +Node: Finding Extensions1067992 +Node: Extension Example1068551 +Node: Internal File Description1069349 +Node: Internal File Ops1073429 +Ref: Internal File Ops-Footnote-11084779 +Node: Using Internal File Ops1084919 +Ref: Using Internal File Ops-Footnote-11087302 +Node: Extension Samples1087576 +Node: Extension Sample File Functions1089105 +Node: Extension Sample Fnmatch1096754 +Node: Extension Sample Fork1098241 +Node: Extension Sample Inplace1099459 +Node: Extension Sample Ord1102676 +Node: Extension Sample Readdir1103512 +Ref: table-readdir-file-types1104401 +Node: Extension Sample Revout1105206 +Node: Extension Sample Rev2way1105795 +Node: Extension Sample Read write array1106535 +Node: Extension Sample Readfile1108477 +Node: Extension Sample Time1109572 +Node: Extension Sample API Tests1110920 +Node: gawkextlib1111412 +Node: Extension summary1114330 +Node: Extension Exercises1118032 +Node: Language History1119530 +Node: V7/SVR3.11121186 +Node: SVR41123338 +Node: POSIX1124772 +Node: BTL1126152 +Node: POSIX/GNU1126881 +Node: Feature History1132659 +Node: Common Extensions1148705 +Node: Ranges and Locales1149988 +Ref: Ranges and Locales-Footnote-11154604 +Ref: Ranges and Locales-Footnote-21154631 +Ref: Ranges and Locales-Footnote-31154866 +Node: Contributors1155087 +Node: History summary1161032 +Node: Installation1162412 +Node: Gawk Distribution1163356 +Node: Getting1163840 +Node: Extracting1164803 +Node: Distribution contents1166441 +Node: Unix Installation1172921 +Node: Quick Installation1173603 +Node: Shell Startup Files1176017 +Node: Additional Configuration Options1177106 +Node: Configuration Philosophy1179271 +Node: Non-Unix Installation1181640 +Node: PC Installation1182100 +Node: PC Binary Installation1182938 +Node: PC Compiling1183373 +Node: PC Using1184490 +Node: Cygwin1188043 +Node: MSYS1189142 +Node: VMS Installation1189643 +Node: VMS Compilation1190434 +Ref: VMS Compilation-Footnote-11191663 +Node: VMS Dynamic Extensions1191721 +Node: VMS Installation Details1193406 +Node: VMS Running1195659 +Node: VMS GNV1199938 +Node: VMS Old Gawk1200673 +Node: Bugs1201144 +Node: Bug address1201807 +Node: Usenet1204789 +Node: Maintainers1205793 +Node: Other Versions1207054 +Node: Installation summary1213968 +Node: Notes1215170 +Node: Compatibility Mode1215964 +Node: Additions1216746 +Node: Accessing The Source1217671 +Node: Adding Code1219108 +Node: New Ports1225327 +Node: Derived Files1229815 +Ref: Derived Files-Footnote-11235461 +Ref: Derived Files-Footnote-21235496 +Ref: Derived Files-Footnote-31236094 +Node: Future Extensions1236208 +Node: Implementation Limitations1236866 +Node: Extension Design1238049 +Node: Old Extension Problems1239193 +Ref: Old Extension Problems-Footnote-11240711 +Node: Extension New Mechanism Goals1240768 +Ref: Extension New Mechanism Goals-Footnote-11244132 +Node: Extension Other Design Decisions1244321 +Node: Extension Future Growth1246434 +Node: Notes summary1247270 +Node: Basic Concepts1248445 +Node: Basic High Level1249126 +Ref: figure-general-flow1249408 +Ref: figure-process-flow1250093 +Ref: Basic High Level-Footnote-11253394 +Node: Basic Data Typing1253579 +Node: Glossary1256907 +Node: Copying1288745 +Node: GNU Free Documentation License1326288 +Node: Index1351408 End Tag Table |