diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1008 |
1 files changed, 506 insertions, 502 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 13fdbc0a..59f0f0fb 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -1406,32 +1406,32 @@ programs, but this usually isn't very useful; the purpose of a comment is to help you or another person understand the program when reading it at a later time. - *Caution:* As mentioned in *note One-shot::, you can enclose small -to medium programs in single quotes, in order to keep your shell -scripts self-contained. When doing so, _don't_ put an apostrophe -(i.e., a single quote) into a comment (or anywhere else in your -program). The shell interprets the quote as the closing quote for the -entire program. As a result, usually the shell prints a message about -mismatched quotes, and if `awk' actually runs, it will probably print -strange messages about syntax errors. For example, look at the -following: - - $ awk '{ print "hello" } # let's be cute' - > - - The shell sees that the first two quotes match, and that a new -quoted object begins at the end of the command line. It therefore -prompts with the secondary prompt, waiting for more input. With Unix -`awk', closing the quoted string produces this result: - - $ awk '{ print "hello" } # let's be cute' - > ' - error--> awk: can't open file be - error--> source line number 1 - - Putting a backslash before the single quote in `let's' wouldn't help, -since backslashes are not special inside single quotes. The next -node describes the shell's quoting rules. + CAUTION: As mentioned in *note One-shot::, you can enclose small + to medium programs in single quotes, in order to keep your shell + scripts self-contained. When doing so, _don't_ put an apostrophe + (i.e., a single quote) into a comment (or anywhere else in your + program). The shell interprets the quote as the closing quote for + the entire program. As a result, usually the shell prints a + message about mismatched quotes, and if `awk' actually runs, it + will probably print strange messages about syntax errors. For + example, look at the following: + + $ awk '{ print "hello" } # let's be cute' + > + + The shell sees that the first two quotes match, and that a new + quoted object begins at the end of the command line. It therefore + prompts with the secondary prompt, waiting for more input. With + Unix `awk', closing the quoted string produces this result: + + $ awk '{ print "hello" } # let's be cute' + > ' + error--> awk: can't open file be + error--> source line number 1 + + Putting a backslash before the single quote in `let's' wouldn't + help, since backslashes are not special inside single quotes. The + next node describes the shell's quoting rules. File: gawk.info, Node: Quoting, Prev: Comments, Up: Running gawk @@ -1914,31 +1914,32 @@ backslash continuation. Thus, for maximum portability of your `awk' programs, it is best not to split your lines in the middle of a regular expression or a string. - *Caution:* _Backslash continuation does not work as described with -the C shell._ It works for `awk' programs in files and for one-shot -programs, _provided_ you are using a POSIX-compliant shell, such as the -Unix Bourne shell or Bash. But the C shell behaves differently! -There, you must use two backslashes in a row, followed by a newline. -Note also that when using the C shell, _every_ newline in your `awk' -program must be escaped with a backslash. To illustrate: + CAUTION: _Backslash continuation does not work as described with + the C shell._ It works for `awk' programs in files and for + one-shot programs, _provided_ you are using a POSIX-compliant + shell, such as the Unix Bourne shell or Bash. But the C shell + behaves differently! There, you must use two backslashes in a + row, followed by a newline. Note also that when using the C + shell, _every_ newline in your `awk' program must be escaped with + a backslash. To illustrate: - % awk 'BEGIN { \ - ? print \\ - ? "hello, world" \ - ? }' - -| hello, world + % awk 'BEGIN { \ + ? print \\ + ? "hello, world" \ + ? }' + -| hello, world -Here, the `%' and `?' are the C shell's primary and secondary prompts, -analogous to the standard shell's `$' and `>'. + Here, the `%' and `?' are the C shell's primary and secondary + prompts, analogous to the standard shell's `$' and `>'. - Compare the previous example to how it is done with a -POSIX-compliant shell: + Compare the previous example to how it is done with a + POSIX-compliant shell: - $ awk 'BEGIN { - > print \ - > "hello, world" - > }' - -| hello, world + $ awk 'BEGIN { + > print \ + > "hello, world" + > }' + -| hello, world `awk' is a line-oriented language. Each rule's action has to begin on the same line as the pattern. To have the pattern and action on @@ -2134,10 +2135,10 @@ The following list describes options mandated by the POSIX standard: than once, setting another variable each time, like this: `awk -v foo=1 -v bar=2 ...'. - *Caution:* Using `-v' to set the values of the built-in variables - may lead to surprising results. `awk' will reset the values of - those variables as it needs to, possibly ignoring any predefined - value you may have given. + CAUTION: Using `-v' to set the values of the built-in + variables may lead to surprising results. `awk' will reset + the values of those variables as it needs to, possibly + ignoring any predefined value you may have given. `-W GAWK-OPT' Provide an implementation-specific option. This is the POSIX @@ -2263,8 +2264,8 @@ The following list describes options mandated by the POSIX standard: Enable automatic interpretation of octal and hexadecimal values in input data (*note Nondecimal Data::). - *Caution:* This option can severely break old programs. Use with - care. + CAUTION: This option can severely break old programs. Use + with care. `-N' `--use-lc-numeric' @@ -3272,9 +3273,10 @@ Equivalence classes These features are very valuable in non-English-speaking locales. - *Caution:* The library functions that `gawk' uses for regular -expression matching currently recognize only POSIX character classes; -they do not recognize collating symbols or equivalence classes. + CAUTION: The library functions that `gawk' uses for regular + expression matching currently recognize only POSIX character + classes; they do not recognize collating symbols or equivalence + classes. File: gawk.info, Node: GNU Regexp Operators, Next: Case-sensitivity, Prev: Character Lists, Up: Regexp @@ -4109,8 +4111,8 @@ value of `NF' and recomputes `$0'. (d.c.) Here is an example: -| NF = 6 -| a b c - *Caution:* Some versions of `awk' don't rebuild `$0' when `NF' is -decremented. Caveat emptor. + CAUTION: Some versions of `awk' don't rebuild `$0' when `NF' is + decremented. Caveat emptor. Finally, there are times when it is convenient to force `awk' to rebuild the entire record, using the current value of the fields and @@ -6774,7 +6776,7 @@ order to separate the semantics of conversion from the semantics of printing. Both `CONVFMT' and `OFMT' have the same default value: `"%.6g"'. In the vast majority of cases, old `awk' programs do not change their behavior. However, these semantics for `OFMT' are -something to keep in mind if you must port your new style program to +something to keep in mind if you must port your new-style program to older implementations of `awk'. We recommend that instead of changing your programs, just port `gawk' itself. *Note Print::, for more information on the `print' statement. @@ -7758,13 +7760,13 @@ examples show function calls with and without arguments: atan2(y, x) two arguments rand() no arguments - *Caution:* Do not put any space between the function name and the -open-parenthesis! A user-defined function name looks just like the -name of a variable--a space would make the expression look like -concatenation of a variable with an expression inside parentheses. -With built-in functions, space before the parenthesis is harmless, but -it is best not to get into the habit of using space to avoid mistakes -with user-defined functions. + CAUTION: Do not put any space between the function name and the + open-parenthesis! A user-defined function name looks just like + the name of a variable--a space would make the expression look + like concatenation of a variable with an expression inside + parentheses. With built-in functions, space before the + parenthesis is harmless, but it is best not to get into the habit + of using space to avoid mistakes with user-defined functions. Each function expects a particular number of arguments. For example, the `sqrt()' function must be called with a single argument, @@ -9949,13 +9951,13 @@ target array first. This call asks it to split apart the null string. Because there is no data to split out, the function simply clears the array and then returns. - *Caution:* Deleting an array does not change its type; you cannot -delete an array and then use the array's name as a scalar (i.e., a -regular variable). For example, the following does not work: + CAUTION: Deleting an array does not change its type; you cannot + delete an array and then use the array's name as a scalar (i.e., a + regular variable). For example, the following does not work: - a[1] = 3 - delete a - a = 3 + a[1] = 3 + delete a + a = 3 ---------- Footnotes ---------- @@ -10527,14 +10529,15 @@ brackets ([ ]): roll(6)+roll(6)+roll(6)) } - *Caution:* In most `awk' implementations, including `gawk', - `rand()' starts generating numbers from the same starting number, - or "seed", each time you run `awk'.(2) Thus, a program generates - the same results each time you run it. The numbers are random - within one `awk' run but predictable from run to run. This is - convenient for debugging, but if you want a program to do - different things each time it is used, you must change the seed to - a value that is different in each run. To do this, use `srand()'. + CAUTION: In most `awk' implementations, including `gawk', + `rand()' starts generating numbers from the same starting + number, or "seed", each time you run `awk'.(2) Thus, a + program generates the same results each time you run it. The + numbers are random within one `awk' run but predictable from + run to run. This is convenient for debugging, but if you want + a program to do different things each time it is used, you + must change the seed to a value that is different in each + run. To do this, use `srand()'. `sin(X)' Return the sine of X, with X in radians. @@ -12107,12 +12110,12 @@ being a string concatenation): foo(x y, "lose", 4 * z) - *Caution:* Whitespace characters (spaces and TABs) are not allowed -between the function name and the open-parenthesis of the argument list. -If you write whitespace by mistake, `awk' might think that you mean to -concatenate a variable with an expression in parentheses. However, it -notices that you used a function name and not a variable name, and -reports an error. + CAUTION: Whitespace characters (spaces and TABs) are not allowed + between the function name and the open-parenthesis of the argument + list. If you write whitespace by mistake, `awk' might think that + you mean to concatenate a variable with an expression in + parentheses. However, it notices that you used a function name + and not a variable name, and reports an error. File: gawk.info, Node: Variable Scope, Next: Pass By Value/Reference, Prev: Calling A Function, Up: Function Caveats @@ -12898,10 +12901,11 @@ internationalization: gettext::. You must also supply a text domain. Use `TEXTDOMAIN' if you want to use the current domain. - *Caution:* The order of arguments to the `awk' version of the - `dcgettext()' function is purposely different from the order for - the C version. The `awk' version's order was chosen to be simple - and to allow for reasonable `awk'-style default arguments. + CAUTION: The order of arguments to the `awk' version of the + `dcgettext()' function is purposely different from the order + for the C version. The `awk' version's order was chosen to + be simple and to allow for reasonable `awk'-style default + arguments. `dcngettext(STRING1, STRING2, NUMBER [, DOMAIN [, CATEGORY]])' This built-in function returns the plural form used for NUMBER of @@ -13334,11 +13338,11 @@ because using this facility could lead to surprising results, the default is to leave it disabled. If you want it, you must explicitly request it. - *Caution:* _Use of this option is not recommended._ It can break old -programs very badly. Instead, use the `strtonum()' function to convert -your data (*note Nondecimal-numbers::). This makes your programs -easier to write and easier to read, and leads to less surprising -results. + CAUTION: _Use of this option is not recommended._ It can break old + programs very badly. Instead, use the `strtonum()' function to + convert your data (*note Nondecimal-numbers::). This makes your + programs easier to write and easier to read, and leads to less + surprising results. File: gawk.info, Node: Two-way I/O, Next: TCP/IP Networking, Prev: Nondecimal Data, Up: Advanced Features @@ -20543,11 +20547,11 @@ The bug reporting address is preferred since the email list is archived at the GNU Project. _All email should be in English, since that is my native language._ - *Caution:* Do _not_ try to report bugs in `gawk' by posting to the -Usenet/Internet newsgroup `comp.lang.awk'. While the `gawk' developers -do occasionally read this newsgroup, there is no guarantee that we will -see your posting. The steps described above are the official -recognized ways for reporting bugs. Really. + CAUTION: Do _not_ try to report bugs in `gawk' by posting to the + Usenet/Internet newsgroup `comp.lang.awk'. While the `gawk' + developers do occasionally read this newsgroup, there is no + guarantee that we will see your posting. The steps described + above are the official recognized ways for reporting bugs. Really. NOTE: Many distributions of GNU/Linux and the various BSD-based operating systems have their own bug reporting systems. If you @@ -21040,14 +21044,14 @@ functions. This minor node describes how to write and use dynamically loaded extensions for `gawk'. Experience with programming in C or C++ is necessary when reading this minor node. - *Caution:* The facilities described in this minor node are very much -subject to change in a future `gawk' release. Be aware that you may -have to re-do everything, at some future time. + CAUTION: The facilities described in this minor node are very much + subject to change in a future `gawk' release. Be aware that you + may have to re-do everything, at some future time. - *Caution:* If you have written your own dynamic extensions, be sure -to recompile them for each new `gawk' release. There is no guarantee -of binary compatibility between different releases, nor will there ever -be such a guarantee. + If you have written your own dynamic extensions, be sure to + recompile them for each new `gawk' release. There is no guarantee + of binary compatibility between different releases, nor will there + ever be such a guarantee. NOTE: When `--sandbox' is specified, extensions are disabled (*note Options::. @@ -24255,7 +24259,7 @@ Index * . (period): Regexp Operators. (line 43) * .mo files: Explaining gettext. (line 41) * .mo files, converting from .po: I18N Example. (line 62) -* .mo files, specifying directory of <1>: Programmer i18n. (line 46) +* .mo files, specifying directory of <1>: Programmer i18n. (line 47) * .mo files, specifying directory of: Explaining gettext. (line 53) * .po files <1>: Translator i18n. (line 6) * .po files: Explaining gettext. (line 36) @@ -24273,7 +24277,7 @@ Index * /inet/ files (gawk): TCP/IP Networking. (line 6) * /inet4/ files (gawk): TCP/IP Networking. (line 6) * /inet6/ files (gawk): TCP/IP Networking. (line 6) -* ; (semicolon): Statements/Lines. (line 90) +* ; (semicolon): Statements/Lines. (line 91) * ; (semicolon), AWKPATH variable and: PC Using. (line 11) * ; (semicolon), separating statements in actions <1>: Statements. (line 10) @@ -24344,7 +24348,7 @@ Index * \ (backslash), continuing lines and <1>: Egrep Program. (line 220) * \ (backslash), continuing lines and: Statements/Lines. (line 19) * \ (backslash), continuing lines and, comments and: Statements/Lines. - (line 75) + (line 76) * \ (backslash), continuing lines and, in csh: Statements/Lines. (line 44) * \ (backslash), gsub()/gensub()/sub() functions and: Gory Details. @@ -24368,7 +24372,7 @@ Index * _ (underscore), _ C macro: Explaining gettext. (line 70) * _ (underscore), in names of private variables: Library Names. (line 29) -* _ (underscore), translatable string: Programmer i18n. (line 68) +* _ (underscore), translatable string: Programmer i18n. (line 69) * _gr_init() user-defined function: Group Functions. (line 82) * _pw_init() user-defined function: Passwd Functions. (line 105) * accessing fields: Fields. (line 6) @@ -24598,7 +24602,7 @@ Index * backslash (\), continuing lines and <1>: Egrep Program. (line 220) * backslash (\), continuing lines and: Statements/Lines. (line 19) * backslash (\), continuing lines and, comments and: Statements/Lines. - (line 75) + (line 76) * backslash (\), continuing lines and, in csh: Statements/Lines. (line 44) * backslash (\), gsub()/gensub()/sub() functions and: Gory Details. @@ -24632,7 +24636,7 @@ Index * BEGIN pattern, print statement and: I/O And BEGIN/END. (line 16) * BEGIN pattern, pwcat program: Passwd Functions. (line 144) * BEGIN pattern, running awk programs and: Cut Program. (line 68) -* BEGIN pattern, TEXTDOMAIN variable and: Programmer i18n. (line 59) +* BEGIN pattern, TEXTDOMAIN variable and: Programmer i18n. (line 60) * BEGINFILE pattern, Boolean patterns and: Expression Patterns. (line 73) * BEGINFILE special pattern: BEGINFILE/ENDFILE. (line 6) @@ -24642,7 +24646,7 @@ Index * Berry, Karl: Acknowledgments. (line 32) * binary input/output: User-modified. (line 10) * bindtextdomain() function (C library): Explaining gettext. (line 49) -* bindtextdomain() function (gawk) <1>: Programmer i18n. (line 46) +* bindtextdomain() function (gawk) <1>: Programmer i18n. (line 47) * bindtextdomain() function (gawk): I18N Functions. (line 12) * bindtextdomain() function (gawk), portability and: I18N Portability. (line 33) @@ -24774,7 +24778,7 @@ Index * commands debugger command: Dgawk Execution Control. (line 10) * commenting: Comments. (line 6) -* commenting, backslash continuation and: Statements/Lines. (line 75) +* commenting, backslash continuation and: Statements/Lines. (line 76) * common extensions, \x escape sequence: Escape Sequences. (line 61) * comp.lang.awk newsgroup: Bugs. (line 38) * comparison expressions: Typing and Comparison. @@ -24898,7 +24902,7 @@ Index * dcgettext() function (gawk): I18N Functions. (line 22) * dcgettext() function (gawk), portability and: I18N Portability. (line 33) -* dcngettext() function (gawk) <1>: Programmer i18n. (line 35) +* dcngettext() function (gawk) <1>: Programmer i18n. (line 36) * dcngettext() function (gawk): I18N Functions. (line 28) * dcngettext() function (gawk), portability and: I18N Portability. (line 33) @@ -25265,7 +25269,7 @@ Index * filenames, assignments as: Ignoring Assigns. (line 6) * files, .mo: Explaining gettext. (line 41) * files, .mo, converting from .po: I18N Example. (line 62) -* files, .mo, specifying directory of <1>: Programmer i18n. (line 46) +* files, .mo, specifying directory of <1>: Programmer i18n. (line 47) * files, .mo, specifying directory of: Explaining gettext. (line 53) * files, .po <1>: Translator i18n. (line 6) * files, .po: Explaining gettext. (line 36) @@ -25293,7 +25297,7 @@ Index * files, message object, converting from portable object files: I18N Example. (line 62) * files, message object, specifying directory of <1>: Programmer i18n. - (line 46) + (line 47) * files, message object, specifying directory of: Explaining gettext. (line 53) * files, multiple passes over: Other Arguments. (line 49) @@ -25703,7 +25707,7 @@ Index * LC_CTYPE locale category: Explaining gettext. (line 97) * LC_MESSAGES locale category: Explaining gettext. (line 87) * LC_MESSAGES locale category, bindtextdomain() function (gawk): Programmer i18n. - (line 87) + (line 88) * LC_MONETARY locale category: Explaining gettext. (line 103) * LC_NUMERIC locale category: Explaining gettext. (line 107) * LC_RESPONSE locale category: Explaining gettext. (line 111) @@ -25817,7 +25821,7 @@ Index * message object files, converting from portable object files: I18N Example. (line 62) * message object files, specifying directory of <1>: Programmer i18n. - (line 46) + (line 47) * message object files, specifying directory of: Explaining gettext. (line 53) * metacharacters, escape sequences for: Escape Sequences. (line 132) @@ -26360,7 +26364,7 @@ Index * sed utility <2>: Simple Sed. (line 6) * sed utility: Field Splitting Summary. (line 47) -* semicolon (;): Statements/Lines. (line 90) +* semicolon (;): Statements/Lines. (line 91) * semicolon (;), AWKPATH variable and: PC Using. (line 11) * semicolon (;), separating statements in actions <1>: Statements. (line 10) @@ -26406,7 +26410,7 @@ Index * signals, USR1/SIGUSR1: Profiling. (line 182) * silent debugger command: Dgawk Execution Control. (line 10) -* sin() function: Numeric Functions. (line 73) +* sin() function: Numeric Functions. (line 74) * single quote (') <1>: Quoting. (line 31) * single quote (') <2>: Long. (line 33) * single quote ('): One-shot. (line 15) @@ -26440,9 +26444,9 @@ Index * sprintf() function, OFMT variable and: User-modified. (line 124) * sprintf() function, print/printf statements and: Round Function. (line 6) -* sqrt() function: Numeric Functions. (line 76) +* sqrt() function: Numeric Functions. (line 77) * square brackets ([]): Regexp Operators. (line 55) -* srand() function: Numeric Functions. (line 80) +* srand() function: Numeric Functions. (line 81) * Stallman, Richard <1>: Glossary. (line 286) * Stallman, Richard <2>: Contributors. (line 24) * Stallman, Richard <3>: Acknowledgments. (line 18) @@ -26453,7 +26457,7 @@ Index * stat() function, implementing in gawk: Sample Library. (line 6) * statements, compound, control statements and: Statements. (line 10) * statements, control, in actions: Statements. (line 6) -* statements, multiple: Statements/Lines. (line 90) +* statements, multiple: Statements/Lines. (line 91) * step debugger command: Dgawk Execution Control. (line 68) * stepi debugger command: Dgawk Execution Control. @@ -26534,7 +26538,7 @@ Index * text, printing, unduplicated lines of: Uniq Program. (line 6) * TEXTDOMAIN variable <1>: Programmer i18n. (line 9) * TEXTDOMAIN variable: User-modified. (line 153) -* TEXTDOMAIN variable, BEGIN pattern and: Programmer i18n. (line 59) +* TEXTDOMAIN variable, BEGIN pattern and: Programmer i18n. (line 60) * TEXTDOMAIN variable, portability and: I18N Portability. (line 20) * textdomain() function (C library): Explaining gettext. (line 27) * tilde (~), ~ operator <1>: Expression Patterns. (line 24) @@ -26560,7 +26564,7 @@ Index * trace debugger command: Miscellaneous Dgawk Commands. (line 110) * translate.awk program: Translate Program. (line 55) -* troubleshooting, --non-decimal-data option: Options. (line 169) +* troubleshooting, --non-decimal-data option: Options. (line 166) * troubleshooting, == operator: Comparison Operators. (line 37) * troubleshooting, awk uses FS not IFS: Field Separators. (line 29) @@ -26608,7 +26612,7 @@ Index * underscore (_), _ C macro: Explaining gettext. (line 70) * underscore (_), in names of private variables: Library Names. (line 29) -* underscore (_), translatable string: Programmer i18n. (line 68) +* underscore (_), translatable string: Programmer i18n. (line 69) * undisplay debugger command: Viewing And Changing Data. (line 80) * undocumented features: Undocumented. (line 6) @@ -26783,379 +26787,379 @@ Node: Executable Scripts65390 Ref: Executable Scripts-Footnote-167251 Ref: Executable Scripts-Footnote-267353 Node: Comments67804 -Node: Quoting70172 -Node: DOS Quoting74789 -Node: Sample Data Files75464 -Node: Very Simple78496 -Node: Two Rules83093 -Node: More Complex85240 -Ref: More Complex-Footnote-188170 -Node: Statements/Lines88250 -Ref: Statements/Lines-Footnote-192608 -Node: Other Features92873 -Node: When93742 -Node: Invoking Gawk95885 -Node: Command Line97270 -Node: Options98053 -Ref: Options-Footnote-1111399 -Node: Other Arguments111424 -Node: Naming Standard Input114087 -Node: Environment Variables115051 -Node: AWKPATH Variable115495 -Ref: AWKPATH Variable-Footnote-1118232 -Node: Other Environment Variables118492 -Node: Exit Status120840 -Node: Include Files121515 -Node: Obsolete124906 -Node: Undocumented125592 -Node: Regexp125833 -Node: Regexp Usage127285 -Node: Escape Sequences129311 -Node: Regexp Operators135054 -Ref: Regexp Operators-Footnote-1142226 -Ref: Regexp Operators-Footnote-2142373 -Node: Character Lists142471 -Ref: table-char-classes144246 -Node: GNU Regexp Operators146871 -Node: Case-sensitivity150584 -Ref: Case-sensitivity-Footnote-1153539 -Ref: Case-sensitivity-Footnote-2153774 -Node: Leftmost Longest153882 -Node: Computed Regexps155083 -Node: Locales158500 -Node: Reading Files162042 -Node: Records163983 -Ref: Records-Footnote-1172655 -Node: Fields172692 -Ref: Fields-Footnote-1175724 -Node: Nonconstant Fields175810 -Node: Changing Fields178012 -Node: Field Separators183297 -Node: Default Field Splitting185926 -Node: Regexp Field Splitting187043 -Node: Single Character Fields190393 -Node: Command Line Field Separator191444 -Node: Field Splitting Summary194883 -Ref: Field Splitting Summary-Footnote-1198069 -Node: Constant Size198170 -Node: Splitting By Content202732 -Ref: Splitting By Content-Footnote-1206458 -Node: Multiple Line206498 -Ref: Multiple Line-Footnote-1212345 -Node: Getline212524 -Node: Plain Getline214752 -Node: Getline/Variable216841 -Node: Getline/File217982 -Node: Getline/Variable/File219304 -Ref: Getline/Variable/File-Footnote-1220903 -Node: Getline/Pipe220990 -Node: Getline/Variable/Pipe223538 -Node: Getline/Coprocess224645 -Node: Getline/Variable/Coprocess225888 -Node: Getline Notes226602 -Node: Getline Summary228544 -Ref: table-getline-variants228828 -Node: Command line directories229733 -Node: Printing230358 -Node: Print231989 -Node: Print Examples233326 -Node: Output Separators236110 -Node: OFMT237869 -Node: Printf239227 -Node: Basic Printf240133 -Node: Control Letters241670 -Node: Format Modifiers245482 -Node: Printf Examples251493 -Node: Redirection254208 -Node: Special Files261186 -Node: Special FD261719 -Ref: Special FD-Footnote-1265294 -Node: Special Network265368 -Node: Special Caveats266223 -Node: Close Files And Pipes267017 -Ref: Close Files And Pipes-Footnote-1273961 -Ref: Close Files And Pipes-Footnote-2274109 -Node: Expressions274259 -Node: Values275328 -Node: Constants276004 -Node: Scalar Constants276684 -Ref: Scalar Constants-Footnote-1277543 -Node: Nondecimal-numbers277725 -Node: Regexp Constants280784 -Node: Using Constant Regexps281259 -Node: Variables284264 -Node: Using Variables284919 -Node: Assignment Options286646 -Node: Conversion288527 -Ref: table-locale-affects293901 -Ref: Conversion-Footnote-1294525 -Node: All Operators294634 -Node: Arithmetic Ops295264 -Node: Concatenation297763 -Ref: Concatenation-Footnote-1300556 -Node: Assignment Ops300675 -Ref: table-assign-ops305663 -Node: Increment Ops307064 -Node: Truth Values and Conditions310542 -Node: Truth Values311625 -Node: Typing and Comparison312673 -Node: Variable Typing313462 -Ref: Variable Typing-Footnote-1317359 -Node: Comparison Operators317481 -Ref: table-relational-ops317891 -Node: POSIX String Comparison321440 -Ref: POSIX String Comparison-Footnote-1322397 -Node: Boolean Ops322535 -Ref: Boolean Ops-Footnote-1326613 -Node: Conditional Exp326704 -Node: Function Calls328436 -Node: Precedence331995 -Node: Patterns and Actions335648 -Node: Pattern Overview336702 -Node: Regexp Patterns338368 -Node: Expression Patterns338911 -Node: Ranges342485 -Node: BEGIN/END345451 -Node: Using BEGIN/END346201 -Ref: Using BEGIN/END-Footnote-1348932 -Node: I/O And BEGIN/END349046 -Node: Empty351315 -Node: BEGINFILE/ENDFILE351649 -Node: Using Shell Variables354474 -Node: Action Overview356753 -Node: Statements359110 -Node: If Statement360969 -Node: While Statement362468 -Node: Do Statement364512 -Node: For Statement365668 -Node: Switch Statement368820 -Node: Break Statement370917 -Node: Continue Statement372893 -Node: Next Statement374594 -Node: Nextfile Statement376976 -Node: Exit Statement379494 -Node: Built-in Variables381825 -Node: User-modified382920 -Ref: User-modified-Footnote-1390921 -Node: Auto-set390983 -Ref: Auto-set-Footnote-1399966 -Node: ARGC and ARGV400171 -Node: Arrays403930 -Node: Array Basics405501 -Node: Array Intro406212 -Node: Reference to Elements410530 -Node: Assigning Elements412800 -Node: Array Example413291 -Node: Scanning an Array415023 -Node: Delete417300 -Ref: Delete-Footnote-1419698 -Node: Numeric Array Subscripts419755 -Node: Uninitialized Subscripts421938 -Node: Multi-dimensional423566 -Node: Multi-scanning426657 -Node: Array Sorting428241 -Ref: Array Sorting-Footnote-1431439 -Node: Arrays of Arrays431633 -Node: Functions435795 -Node: Built-in436617 -Node: Calling Built-in437631 -Node: Numeric Functions439607 -Ref: Numeric Functions-Footnote-1443316 -Ref: Numeric Functions-Footnote-2443652 -Ref: Numeric Functions-Footnote-3443700 -Node: String Functions443969 -Ref: String Functions-Footnote-1465768 -Ref: String Functions-Footnote-2465897 -Ref: String Functions-Footnote-3466145 -Node: Gory Details466232 -Ref: table-sub-escapes467889 -Ref: table-posix-sub469203 -Ref: table-gensub-escapes470103 -Node: I/O Functions471274 -Ref: I/O Functions-Footnote-1477971 -Node: Time Functions478118 -Ref: Time Functions-Footnote-1488985 -Ref: Time Functions-Footnote-2489053 -Ref: Time Functions-Footnote-3489211 -Ref: Time Functions-Footnote-4489322 -Ref: Time Functions-Footnote-5489434 -Ref: Time Functions-Footnote-6489661 -Node: Bitwise Functions489927 -Ref: table-bitwise-ops490485 -Ref: Bitwise Functions-Footnote-1494645 -Node: I18N Functions494829 -Node: User-defined496459 -Node: Definition Syntax497263 -Ref: Definition Syntax-Footnote-1501893 -Node: Function Example501962 -Node: Function Caveats504556 -Node: Calling A Function504977 -Node: Variable Scope506066 -Node: Pass By Value/Reference507994 -Node: Return Statement511434 -Node: Dynamic Typing514376 -Node: Indirect Calls515113 -Node: Internationalization524798 -Node: I18N and L10N526226 -Node: Explaining gettext526912 -Ref: Explaining gettext-Footnote-1531974 -Ref: Explaining gettext-Footnote-2532157 -Node: Programmer i18n532322 -Node: Translator i18n536585 -Node: String Extraction537378 -Ref: String Extraction-Footnote-1538339 -Node: Printf Ordering538425 -Ref: Printf Ordering-Footnote-1541209 -Node: I18N Portability541273 -Ref: I18N Portability-Footnote-1543722 -Node: I18N Example543785 -Ref: I18N Example-Footnote-1546420 -Node: Gawk I18N546492 -Node: Advanced Features547061 -Node: Nondecimal Data548380 -Node: Two-way I/O549941 -Ref: Two-way I/O-Footnote-1555355 -Node: TCP/IP Networking555432 -Node: Profiling558204 -Node: Library Functions565604 -Ref: Library Functions-Footnote-1568574 -Node: Library Names568745 -Ref: Library Names-Footnote-1572216 -Ref: Library Names-Footnote-2572436 -Node: General Functions572522 -Node: Nextfile Function573585 -Node: Strtonum Function577966 -Node: Assert Function580917 -Node: Round Function584243 -Node: Cliff Random Function585784 -Node: Ordinal Functions586800 -Ref: Ordinal Functions-Footnote-1589870 -Ref: Ordinal Functions-Footnote-2590122 -Node: Join Function590338 -Ref: Join Function-Footnote-1592109 -Node: Gettimeofday Function592309 -Node: Data File Management596024 -Node: Filetrans Function596656 -Node: Rewind Function600893 -Node: File Checking602346 -Node: Empty Files603440 -Node: Ignoring Assigns605670 -Node: Getopt Function607223 -Ref: Getopt Function-Footnote-1618548 -Node: Passwd Functions618751 -Ref: Passwd Functions-Footnote-1627739 -Node: Group Functions627827 -Node: Sample Programs635907 -Node: Running Examples636572 -Node: Clones637300 -Node: Cut Program638423 -Node: Egrep Program648264 -Ref: Egrep Program-Footnote-1656035 -Node: Id Program656145 -Node: Split Program659761 -Ref: Split Program-Footnote-1663280 -Node: Tee Program663408 -Node: Uniq Program666211 -Node: Wc Program673634 -Ref: Wc Program-Footnote-1677898 -Node: Miscellaneous Programs678098 -Node: Dupword Program679218 -Node: Alarm Program681249 -Node: Translate Program685971 -Ref: Translate Program-Footnote-1690350 -Ref: Translate Program-Footnote-2690578 -Node: Labels Program690712 -Ref: Labels Program-Footnote-1694083 -Node: Word Sorting694167 -Node: History Sorting698512 -Node: Extract Program700350 -Ref: Extract Program-Footnote-1707776 -Node: Simple Sed707904 -Node: Igawk Program710966 -Ref: Igawk Program-Footnote-1726000 -Ref: Igawk Program-Footnote-2726201 -Node: Signature Program726339 -Node: Debugger727419 -Node: Debugging728330 -Node: Debugging Concepts728644 -Node: Debugging Terms730500 -Node: Awk Debugging733045 -Node: Sample dgawk session733937 -Node: dgawk invocation734429 -Node: Finding The Bug735611 -Node: List of Debugger Commands742095 -Node: Breakpoint Control743406 -Node: Dgawk Execution Control746882 -Node: Viewing And Changing Data750233 -Node: Dgawk Stack753542 -Node: Dgawk Info755002 -Node: Miscellaneous Dgawk Commands758950 -Node: Readline Support764378 -Node: Dgawk Limitations765205 -Node: Language History767344 -Node: V7/SVR3.1768721 -Node: SVR4771016 -Node: POSIX772461 -Node: BTL774716 -Node: POSIX/GNU776120 -Node: Contributors781250 -Node: Installation785195 -Node: Gawk Distribution786089 -Node: Getting786573 -Node: Extracting787399 -Node: Distribution contents789077 -Node: Unix Installation793942 -Node: Quick Installation794559 -Node: Additional Configuration Options796449 -Node: Configuration Philosophy797926 -Node: Non-Unix Installation800268 -Node: PC Installation800726 -Node: PC Binary Installation802025 -Node: PC Compiling803873 -Node: PC Testing807279 -Node: PC Using808103 -Node: Cygwin812280 -Node: MSYS813277 -Node: VMS Installation813791 -Node: VMS Compilation814395 -Node: VMS Installation Details815972 -Node: VMS Running817602 -Node: VMS POSIX819199 -Node: VMS Old Gawk820497 -Node: Bugs820969 -Node: Other Versions824814 -Node: Notes830262 -Node: Compatibility Mode830954 -Node: Additions831737 -Node: Accessing The Source832549 -Node: Adding Code833972 -Node: New Ports839520 -Node: Dynamic Extensions843633 -Node: Internals844993 -Node: Plugin License854112 -Node: Sample Library854746 -Node: Internal File Description855432 -Node: Internal File Ops859139 -Ref: Internal File Ops-Footnote-1864023 -Node: Using Internal File Ops864171 -Node: Future Extensions866196 -Node: Basic Concepts869033 -Node: Basic High Level869790 -Ref: Basic High Level-Footnote-1873909 -Node: Basic Data Typing874103 -Node: Floating Point Issues878540 -Node: String Conversion Precision879623 -Ref: String Conversion Precision-Footnote-1881317 -Node: Unexpected Results881426 -Node: POSIX Floating Point Problems883252 -Ref: POSIX Floating Point Problems-Footnote-1886951 -Node: Glossary886989 -Node: Copying910624 -Node: GNU Free Documentation License948181 -Node: next-edition973325 -Node: unresolved973677 -Node: revision974177 -Node: consistency974600 -Node: Index977953 +Node: Quoting70271 +Node: DOS Quoting74888 +Node: Sample Data Files75563 +Node: Very Simple78595 +Node: Two Rules83192 +Node: More Complex85339 +Ref: More Complex-Footnote-188269 +Node: Statements/Lines88349 +Ref: Statements/Lines-Footnote-192811 +Node: Other Features93076 +Node: When93945 +Node: Invoking Gawk96088 +Node: Command Line97473 +Node: Options98256 +Ref: Options-Footnote-1111627 +Node: Other Arguments111652 +Node: Naming Standard Input114315 +Node: Environment Variables115279 +Node: AWKPATH Variable115723 +Ref: AWKPATH Variable-Footnote-1118460 +Node: Other Environment Variables118720 +Node: Exit Status121068 +Node: Include Files121743 +Node: Obsolete125134 +Node: Undocumented125820 +Node: Regexp126061 +Node: Regexp Usage127513 +Node: Escape Sequences129539 +Node: Regexp Operators135282 +Ref: Regexp Operators-Footnote-1142454 +Ref: Regexp Operators-Footnote-2142601 +Node: Character Lists142699 +Ref: table-char-classes144474 +Node: GNU Regexp Operators147114 +Node: Case-sensitivity150827 +Ref: Case-sensitivity-Footnote-1153782 +Ref: Case-sensitivity-Footnote-2154017 +Node: Leftmost Longest154125 +Node: Computed Regexps155326 +Node: Locales158743 +Node: Reading Files162285 +Node: Records164226 +Ref: Records-Footnote-1172898 +Node: Fields172935 +Ref: Fields-Footnote-1175967 +Node: Nonconstant Fields176053 +Node: Changing Fields178255 +Node: Field Separators183545 +Node: Default Field Splitting186174 +Node: Regexp Field Splitting187291 +Node: Single Character Fields190641 +Node: Command Line Field Separator191692 +Node: Field Splitting Summary195131 +Ref: Field Splitting Summary-Footnote-1198317 +Node: Constant Size198418 +Node: Splitting By Content202980 +Ref: Splitting By Content-Footnote-1206706 +Node: Multiple Line206746 +Ref: Multiple Line-Footnote-1212593 +Node: Getline212772 +Node: Plain Getline215000 +Node: Getline/Variable217089 +Node: Getline/File218230 +Node: Getline/Variable/File219552 +Ref: Getline/Variable/File-Footnote-1221151 +Node: Getline/Pipe221238 +Node: Getline/Variable/Pipe223786 +Node: Getline/Coprocess224893 +Node: Getline/Variable/Coprocess226136 +Node: Getline Notes226850 +Node: Getline Summary228792 +Ref: table-getline-variants229076 +Node: Command line directories229981 +Node: Printing230606 +Node: Print232237 +Node: Print Examples233574 +Node: Output Separators236358 +Node: OFMT238117 +Node: Printf239475 +Node: Basic Printf240381 +Node: Control Letters241918 +Node: Format Modifiers245730 +Node: Printf Examples251741 +Node: Redirection254456 +Node: Special Files261434 +Node: Special FD261967 +Ref: Special FD-Footnote-1265542 +Node: Special Network265616 +Node: Special Caveats266471 +Node: Close Files And Pipes267265 +Ref: Close Files And Pipes-Footnote-1274209 +Ref: Close Files And Pipes-Footnote-2274357 +Node: Expressions274507 +Node: Values275576 +Node: Constants276252 +Node: Scalar Constants276932 +Ref: Scalar Constants-Footnote-1277791 +Node: Nondecimal-numbers277973 +Node: Regexp Constants281032 +Node: Using Constant Regexps281507 +Node: Variables284512 +Node: Using Variables285167 +Node: Assignment Options286894 +Node: Conversion288775 +Ref: table-locale-affects294149 +Ref: Conversion-Footnote-1294773 +Node: All Operators294882 +Node: Arithmetic Ops295512 +Node: Concatenation298011 +Ref: Concatenation-Footnote-1300804 +Node: Assignment Ops300923 +Ref: table-assign-ops305911 +Node: Increment Ops307312 +Node: Truth Values and Conditions310790 +Node: Truth Values311873 +Node: Typing and Comparison312921 +Node: Variable Typing313710 +Ref: Variable Typing-Footnote-1317607 +Node: Comparison Operators317729 +Ref: table-relational-ops318139 +Node: POSIX String Comparison321688 +Ref: POSIX String Comparison-Footnote-1322645 +Node: Boolean Ops322783 +Ref: Boolean Ops-Footnote-1326861 +Node: Conditional Exp326952 +Node: Function Calls328684 +Node: Precedence332274 +Node: Patterns and Actions335927 +Node: Pattern Overview336981 +Node: Regexp Patterns338647 +Node: Expression Patterns339190 +Node: Ranges342764 +Node: BEGIN/END345730 +Node: Using BEGIN/END346480 +Ref: Using BEGIN/END-Footnote-1349211 +Node: I/O And BEGIN/END349325 +Node: Empty351594 +Node: BEGINFILE/ENDFILE351928 +Node: Using Shell Variables354753 +Node: Action Overview357032 +Node: Statements359389 +Node: If Statement361248 +Node: While Statement362747 +Node: Do Statement364791 +Node: For Statement365947 +Node: Switch Statement369099 +Node: Break Statement371196 +Node: Continue Statement373172 +Node: Next Statement374873 +Node: Nextfile Statement377255 +Node: Exit Statement379773 +Node: Built-in Variables382104 +Node: User-modified383199 +Ref: User-modified-Footnote-1391200 +Node: Auto-set391262 +Ref: Auto-set-Footnote-1400245 +Node: ARGC and ARGV400450 +Node: Arrays404209 +Node: Array Basics405780 +Node: Array Intro406491 +Node: Reference to Elements410809 +Node: Assigning Elements413079 +Node: Array Example413570 +Node: Scanning an Array415302 +Node: Delete417579 +Ref: Delete-Footnote-1420002 +Node: Numeric Array Subscripts420059 +Node: Uninitialized Subscripts422242 +Node: Multi-dimensional423870 +Node: Multi-scanning426961 +Node: Array Sorting428545 +Ref: Array Sorting-Footnote-1431743 +Node: Arrays of Arrays431937 +Node: Functions436099 +Node: Built-in436921 +Node: Calling Built-in437935 +Node: Numeric Functions439911 +Ref: Numeric Functions-Footnote-1443668 +Ref: Numeric Functions-Footnote-2444004 +Ref: Numeric Functions-Footnote-3444052 +Node: String Functions444321 +Ref: String Functions-Footnote-1466120 +Ref: String Functions-Footnote-2466249 +Ref: String Functions-Footnote-3466497 +Node: Gory Details466584 +Ref: table-sub-escapes468241 +Ref: table-posix-sub469555 +Ref: table-gensub-escapes470455 +Node: I/O Functions471626 +Ref: I/O Functions-Footnote-1478323 +Node: Time Functions478470 +Ref: Time Functions-Footnote-1489337 +Ref: Time Functions-Footnote-2489405 +Ref: Time Functions-Footnote-3489563 +Ref: Time Functions-Footnote-4489674 +Ref: Time Functions-Footnote-5489786 +Ref: Time Functions-Footnote-6490013 +Node: Bitwise Functions490279 +Ref: table-bitwise-ops490837 +Ref: Bitwise Functions-Footnote-1494997 +Node: I18N Functions495181 +Node: User-defined496811 +Node: Definition Syntax497615 +Ref: Definition Syntax-Footnote-1502245 +Node: Function Example502314 +Node: Function Caveats504908 +Node: Calling A Function505329 +Node: Variable Scope506444 +Node: Pass By Value/Reference508372 +Node: Return Statement511812 +Node: Dynamic Typing514754 +Node: Indirect Calls515491 +Node: Internationalization525176 +Node: I18N and L10N526604 +Node: Explaining gettext527290 +Ref: Explaining gettext-Footnote-1532352 +Ref: Explaining gettext-Footnote-2532535 +Node: Programmer i18n532700 +Node: Translator i18n536991 +Node: String Extraction537784 +Ref: String Extraction-Footnote-1538745 +Node: Printf Ordering538831 +Ref: Printf Ordering-Footnote-1541615 +Node: I18N Portability541679 +Ref: I18N Portability-Footnote-1544128 +Node: I18N Example544191 +Ref: I18N Example-Footnote-1546826 +Node: Gawk I18N546898 +Node: Advanced Features547467 +Node: Nondecimal Data548786 +Node: Two-way I/O550367 +Ref: Two-way I/O-Footnote-1555781 +Node: TCP/IP Networking555858 +Node: Profiling558630 +Node: Library Functions566030 +Ref: Library Functions-Footnote-1569000 +Node: Library Names569171 +Ref: Library Names-Footnote-1572642 +Ref: Library Names-Footnote-2572862 +Node: General Functions572948 +Node: Nextfile Function574011 +Node: Strtonum Function578392 +Node: Assert Function581343 +Node: Round Function584669 +Node: Cliff Random Function586210 +Node: Ordinal Functions587226 +Ref: Ordinal Functions-Footnote-1590296 +Ref: Ordinal Functions-Footnote-2590548 +Node: Join Function590764 +Ref: Join Function-Footnote-1592535 +Node: Gettimeofday Function592735 +Node: Data File Management596450 +Node: Filetrans Function597082 +Node: Rewind Function601319 +Node: File Checking602772 +Node: Empty Files603866 +Node: Ignoring Assigns606096 +Node: Getopt Function607649 +Ref: Getopt Function-Footnote-1618974 +Node: Passwd Functions619177 +Ref: Passwd Functions-Footnote-1628165 +Node: Group Functions628253 +Node: Sample Programs636333 +Node: Running Examples636998 +Node: Clones637726 +Node: Cut Program638849 +Node: Egrep Program648690 +Ref: Egrep Program-Footnote-1656461 +Node: Id Program656571 +Node: Split Program660187 +Ref: Split Program-Footnote-1663706 +Node: Tee Program663834 +Node: Uniq Program666637 +Node: Wc Program674060 +Ref: Wc Program-Footnote-1678324 +Node: Miscellaneous Programs678524 +Node: Dupword Program679644 +Node: Alarm Program681675 +Node: Translate Program686397 +Ref: Translate Program-Footnote-1690776 +Ref: Translate Program-Footnote-2691004 +Node: Labels Program691138 +Ref: Labels Program-Footnote-1694509 +Node: Word Sorting694593 +Node: History Sorting698938 +Node: Extract Program700776 +Ref: Extract Program-Footnote-1708202 +Node: Simple Sed708330 +Node: Igawk Program711392 +Ref: Igawk Program-Footnote-1726426 +Ref: Igawk Program-Footnote-2726627 +Node: Signature Program726765 +Node: Debugger727845 +Node: Debugging728756 +Node: Debugging Concepts729070 +Node: Debugging Terms730926 +Node: Awk Debugging733471 +Node: Sample dgawk session734363 +Node: dgawk invocation734855 +Node: Finding The Bug736037 +Node: List of Debugger Commands742521 +Node: Breakpoint Control743832 +Node: Dgawk Execution Control747308 +Node: Viewing And Changing Data750659 +Node: Dgawk Stack753968 +Node: Dgawk Info755428 +Node: Miscellaneous Dgawk Commands759376 +Node: Readline Support764804 +Node: Dgawk Limitations765631 +Node: Language History767770 +Node: V7/SVR3.1769147 +Node: SVR4771442 +Node: POSIX772887 +Node: BTL775142 +Node: POSIX/GNU776546 +Node: Contributors781676 +Node: Installation785621 +Node: Gawk Distribution786515 +Node: Getting786999 +Node: Extracting787825 +Node: Distribution contents789503 +Node: Unix Installation794368 +Node: Quick Installation794985 +Node: Additional Configuration Options796875 +Node: Configuration Philosophy798352 +Node: Non-Unix Installation800694 +Node: PC Installation801152 +Node: PC Binary Installation802451 +Node: PC Compiling804299 +Node: PC Testing807705 +Node: PC Using808529 +Node: Cygwin812706 +Node: MSYS813703 +Node: VMS Installation814217 +Node: VMS Compilation814821 +Node: VMS Installation Details816398 +Node: VMS Running818028 +Node: VMS POSIX819625 +Node: VMS Old Gawk820923 +Node: Bugs821395 +Node: Other Versions825260 +Node: Notes830708 +Node: Compatibility Mode831400 +Node: Additions832183 +Node: Accessing The Source832995 +Node: Adding Code834418 +Node: New Ports839966 +Node: Dynamic Extensions844079 +Node: Internals845455 +Node: Plugin License854574 +Node: Sample Library855208 +Node: Internal File Description855894 +Node: Internal File Ops859601 +Ref: Internal File Ops-Footnote-1864485 +Node: Using Internal File Ops864633 +Node: Future Extensions866658 +Node: Basic Concepts869495 +Node: Basic High Level870252 +Ref: Basic High Level-Footnote-1874371 +Node: Basic Data Typing874565 +Node: Floating Point Issues879002 +Node: String Conversion Precision880085 +Ref: String Conversion Precision-Footnote-1881779 +Node: Unexpected Results881888 +Node: POSIX Floating Point Problems883714 +Ref: POSIX Floating Point Problems-Footnote-1887413 +Node: Glossary887451 +Node: Copying911086 +Node: GNU Free Documentation License948643 +Node: next-edition973787 +Node: unresolved974139 +Node: revision974639 +Node: consistency975062 +Node: Index978415 End Tag Table |