aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info1202
1 files changed, 685 insertions, 517 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index 06b8e119..38b10a80 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -154,9 +154,12 @@ texts being (a) (see below), and with the Back-Cover Texts being (b)
uses.
* AWKPATH Variable:: Searching directories for `awk'
programs.
+* AWKLIBPATH Variable:: Searching directories for `awk'
+ shared libraries.
* Other Environment Variables:: The environment variables.
* Exit Status:: `gawk''s exit status.
* Include Files:: Including other files into your program.
+* Loading Shared Libraries:: Loading shared libraries into your program.
* Obsolete:: Obsolete Options and/or features.
* Undocumented:: Undocumented Options and Features.
* Regexp Usage:: How to Use Regular Expressions.
@@ -196,6 +199,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b)
* Getline Notes:: Important things to know about
`getline'.
* Getline Summary:: Summary of `getline' Variants.
+* Read Timeout:: Reading input with a timeout.
* Command line directories:: What happens if you put a directory on the
command line.
* Print:: The `print' statement.
@@ -2086,6 +2090,7 @@ this major node that don't interest you right now.
* Environment Variables:: The environment variables `gawk' uses.
* Exit Status:: `gawk''s exit status.
* Include Files:: Including other files into your program.
+* Loading Shared Libraries:: Loading shared libraries into your program.
* Obsolete:: Obsolete Options and/or features.
* Undocumented:: Undocumented Options and Features.
@@ -2270,9 +2275,11 @@ The following list describes options mandated by the POSIX standard:
`-l LIB'
`--load LIB'
Load a shared library LIB. This searches for the library using the
- `AWKPATH' environment variable. The suffix `.so' in the library
- name is optional. The library initialization routine should be
- named `dlload()'.
+ `AWKLIBPATH' environment variable. The correct library suffix for
+ your platform will be supplied by default, so it need not be
+ specified in the library name. The library initialization routine
+ should be named `dlload()'. An alternative is to use the `@load'
+ keyword inside the program to load a shared library.
`-L [value]'
`--lint[=value]'
@@ -2544,10 +2551,12 @@ A number of environment variables influence how `gawk' behaves.
* AWKPATH Variable:: Searching directories for `awk'
programs.
+* AWKLIBPATH Variable:: Searching directories for `awk'
+ shared libraries.
* Other Environment Variables:: The environment variables.

-File: gawk.info, Node: AWKPATH Variable, Next: Other Environment Variables, Up: Environment Variables
+File: gawk.info, Node: AWKPATH Variable, Next: AWKLIBPATH Variable, Up: Environment Variables
2.5.1 The `AWKPATH' Environment Variable
----------------------------------------
@@ -2606,9 +2615,22 @@ the value of `$(datadir)' generated when `gawk' was configured. You
probably don't need to worry about this, though.

-File: gawk.info, Node: Other Environment Variables, Prev: AWKPATH Variable, Up: Environment Variables
+File: gawk.info, Node: AWKLIBPATH Variable, Next: Other Environment Variables, Prev: AWKPATH Variable, Up: Environment Variables
-2.5.2 Other Environment Variables
+2.5.2 The `AWKLIBPATH' Environment Variable
+-------------------------------------------
+
+The `AWKLIBPATH' environment variable is similar to the `AWKPATH'
+variable, but it is used to search for shared libraries specified with
+the `-l' option rather than for source files. If the library is not
+found, the path is searched again after adding the appropriate shared
+library suffix for the platform. For example, on GNU/Linux systems,
+the suffix `.so' is used.
+
+
+File: gawk.info, Node: Other Environment Variables, Prev: AWKLIBPATH Variable, Up: Environment Variables
+
+2.5.3 Other Environment Variables
---------------------------------
A number of other environment variables affect `gawk''s behavior, but
@@ -2629,6 +2651,10 @@ used by regular users.
milliseconds. On systems that do not support the `usleep()' system
call, the value is rounded up to an integral number of seconds.
+`GAWK_READ_TIMEOUT'
+ Specifies the time, in milliseconds, for `gawk' to wait for input
+ before returning with an error. *Note Read Timeout::.
+
The environment variables in the following list are meant for use by
the `gawk' developers for testing and tuning. They are subject to
change. The variables are:
@@ -2683,7 +2709,7 @@ with the value of the C constant `EXIT_SUCCESS'. This is usually zero.
non-POSIX systems, this value may be mapped to `EXIT_FAILURE'.

-File: gawk.info, Node: Include Files, Next: Obsolete, Prev: Exit Status, Up: Invoking Gawk
+File: gawk.info, Node: Include Files, Next: Loading Shared Libraries, Prev: Exit Status, Up: Invoking Gawk
2.7 Including Other Files Into Your Program
===========================================
@@ -2779,9 +2805,41 @@ always searched first for source files, before searching in `AWKPATH',
and this also applies to files named with `@include'.

-File: gawk.info, Node: Obsolete, Next: Undocumented, Prev: Include Files, Up: Invoking Gawk
+File: gawk.info, Node: Loading Shared Libraries, Next: Obsolete, Prev: Include Files, Up: Invoking Gawk
+
+2.8 Loading Shared Libraries Into Your Program
+==============================================
+
+This minor node describes a feature that is specific to `gawk'.
+
+ The `@load' keyword can be used to read external `awk' shared
+libraries. This allows you to link in compiled code that may offer
+superior performance and/or give you access to extended capabilities
+not supported by the `awk' language. The `AWKLIBPATH' variable is used
+to search for the shared library. Using `@load' is completely
+equivalent to using the `-l' command-line option.
+
+ If the shared library is not initially found in `AWKLIBPATH', another
+search is conducted after appending the platform's default shared
+library suffix to the filename. For example, on GNU/Linux systems, the
+suffix `.so' is used.
+
+ $ awk '@load "ordchr"; BEGIN {print chr(65)}'
+ A
-2.8 Obsolete Options and/or Features
+This is equivalent to the following example:
+
+ $ awk -lordchr 'BEGIN {print chr(65)}'
+ A
+
+For command-line usage, the `-l' option is more convenient, but `@load'
+is useful for embedding inside an `awk' source file that requires
+access to a shared library.
+
+
+File: gawk.info, Node: Obsolete, Next: Undocumented, Prev: Loading Shared Libraries, Up: Invoking Gawk
+
+2.9 Obsolete Options and/or Features
====================================
This minor node describes features and/or command-line options from
@@ -2797,8 +2855,8 @@ worked. As of version 4.0, they are no longer interpreted specially by

File: gawk.info, Node: Undocumented, Prev: Obsolete, Up: Invoking Gawk
-2.9 Undocumented Options and Features
-=====================================
+2.10 Undocumented Options and Features
+======================================
Use the Source, Luke!
Obi-Wan
@@ -3274,7 +3332,7 @@ Class Meaning
`[:upper:]' Uppercase alphabetic characters.
`[:xdigit:]'Characters that are hexadecimal digits.
-Table 3.1: POSIX Character Classes
+Table 3.1: POSIX Character Classes
For example, before the POSIX standard, you had to write
`/[A-Za-z0-9]/' to match alphanumeric characters. If your character
@@ -3626,6 +3684,8 @@ have to be named on the `awk' command line (*note Getline::).
* Multiple Line:: Reading multi-line records.
* Getline:: Reading files under explicit program control
using the `getline' function.
+* Read Timeout:: Reading input with a timeout.
+
* Command line directories:: What happens if you put a directory on the
command line.
@@ -4813,7 +4873,7 @@ feature of `RS' does not apply. It does apply to the default field
separator of a single space: `FS = " "'.

-File: gawk.info, Node: Getline, Next: Command line directories, Prev: Multiple Line, Up: Reading Files
+File: gawk.info, Node: Getline, Next: Read Timeout, Prev: Multiple Line, Up: Reading Files
4.9 Explicit Input with `getline'
=================================
@@ -5235,12 +5295,104 @@ COMMAND `|& getline' Sets `$0' and `NF' Extension
COMMAND `|& getline' Sets VAR Extension
VAR
-Table 4.1: getline Variants and What They Set
+Table 4.1: getline Variants and What They Set

-File: gawk.info, Node: Command line directories, Prev: Getline, Up: Reading Files
+File: gawk.info, Node: Read Timeout, Next: Command line directories, Prev: Getline, Up: Reading Files
+
+4.10 Reading Input With A Timeout
+=================================
+
+You may specify a timeout in milliseconds for reading input from a
+terminal, pipe or two-way communication including, TCP/IP sockets. This
+can be done on a per input, command or connection basis, by setting a
+special element in the `PROCINFO' array:
+
+ PROCINFO["input_name", "READ_TIMEOUT"] = TIMEOUT IN MILLISECONDS
-4.10 Directories On The Command Line
+ When set, this will cause `gawk' to time out and return failure if
+no data is available to read within the specified timeout period. For
+example, a TCP client can decide to give up on receiving any response
+from the server after a certain amount of time:
+
+ Service = "/inet/tcp/0/localhost/daytime"
+ PROCINFO[Service, "READ_TIMEOUT"] = 100
+ if ((Service |& getline) > 0)
+ print $0
+ else if (ERRNO != "")
+ print ERRNO
+
+ Here is how to read interactively from the terminal(1) without
+waiting for more than five seconds:
+
+ PROCINFO["/dev/stdin", "READ_TIMEOUT"] = 5000
+ while ((getline < "/dev/stdin") > 0)
+ print $0
+
+ `gawk' will terminate the read operation if input does not arrive
+after waiting for the timeout period, return failure and set the
+`ERRNO' variable to an appropriate string value. A negative or zero
+value for the timeout is the same as specifying no timeout at all.
+
+ A timeout can also be set for reading from the terminal in the
+implicit loop that reads input records and matches them against
+patterns, like so:
+
+ $ gawk 'BEGIN { PROCINFO["-", "READ_TIMEOUT"] = 5000 }
+ > { print "You entered: " $0 }'
+ gawk
+ -| You entered: gawk
+
+ In this case, failure to respond within five seconds results in the
+following error message:
+
+ error--> gawk: cmd. line:2: (FILENAME=- FNR=1) fatal: error reading input file `-': Connection timed out
+
+ The timeout can be set or changed at any time, and will take effect
+on the next attempt to read from the input device. In the following
+example, we start with a timeout value of one second, and progressively
+reduce it by one-tenth of a second until we wait indefinitely for the
+input to arrive:
+
+ PROCINFO[Service, "READ_TIMEOUT"] = 1000
+ while ((Service |& getline) > 0) {
+ print $0
+ PROCINFO[S, "READ_TIMEOUT"] -= 100
+ }
+
+ NOTE: You should not assume that the read operation will block
+ exactly after the tenth record has been printed. It is possible
+ that `gawk' will read and buffer more than one record's worth of
+ data the first time. Because of this, changing the value of
+ timeout like in the above example is not very useful.
+
+ If the `PROCINFO' element is not present and the environment
+variable `GAWK_READ_TIMEOUT' exists, `gawk' uses its value to
+initialize the timeout value. The exclusive use of the environment
+variable to specify timeout has the disadvantage of not being able to
+control it on a per command or connection basis.
+
+ `gawk' considers a timeout event to be an error even though the
+attempt to read from the underlying device may succeed in a later
+attempt. This is a limitation, and it also means that you cannot use
+this to multiplex input from two or more sources.
+
+ Assigning a timeout value prevents read operations from blocking
+indefinitely. But bear in mind that there are other ways `gawk' can
+stall waiting for an input device to be ready. A network client can
+sometimes take a long time to establish a connection before it can
+start reading any data, or the attempt to open a FIFO special file for
+reading can block indefinitely until some other process opens it for
+writing.
+
+ ---------- Footnotes ----------
+
+ (1) This assumes that standard input is the keyboard
+
+
+File: gawk.info, Node: Command line directories, Prev: Read Timeout, Up: Reading Files
+
+4.11 Directories On The Command Line
====================================
According to the POSIX standard, files named on the `awk' command line
@@ -6811,7 +6963,7 @@ Feature Default `--posix' or `--use-lc-numeric'
Input Use period Use locale
`strtonum()'Use period Use locale
-Table 6.1: Locale Decimal Point versus A Period
+Table 6.1: Locale Decimal Point versus A Period
Finally, modern day formal standards and IEEE standard floating point
representation can have an unusual but important effect on the way
@@ -7153,7 +7305,7 @@ LVALUE `%=' MODULUS Sets LVALUE to its remainder by MODULUS.
LVALUE `^=' POWER
LVALUE `**=' POWER Raises LVALUE to the power POWER. (c.e.)
-Table 6.2: Arithmetic Assignment Operators
+Table 6.2: Arithmetic Assignment Operators
NOTE: Only the `^=' operator is specified by POSIX. For maximum
portability, do not use the `**=' operator.
@@ -7458,7 +7610,7 @@ X `!~' Y True if the string X does not match the regexp
SUBSCRIPT `in' True if the array ARRAY has an element with the
ARRAY subscript SUBSCRIPT.
-Table 6.3: Relational Operators
+Table 6.3: Relational Operators
Comparison expressions have the value one if true and zero if false.
When comparing operands of mixed types, numeric operands are converted
@@ -9304,7 +9456,8 @@ with a pound sign (`#').
Some operating systems may not have environment variables. On
such systems, the `ENVIRON' array is empty (except for
- `ENVIRON["AWKPATH"]', *note AWKPATH Variable::).
+ `ENVIRON["AWKPATH"]', *note AWKPATH Variable:: and
+ `ENVIRON["AWKLIBPATH"]', *note AWKLIBPATH Variable::).
`ERRNO #'
If a system error occurs during a redirection for `getline',
@@ -11268,7 +11421,7 @@ is illustrated in *note table-sub-escapes::.
`\\\\\\&' `\\\&' a literal `\\&'
`\\q' `\q' a literal `\q'
-Table 9.1: Historical Escape Sequence Processing for `sub()' and
+Table 9.1: Historical Escape Sequence Processing for `sub()' and
`gsub()'
This table shows both the lexical-level processing, where an odd number
@@ -11293,7 +11446,8 @@ literally. The interpretation of `\' and `&' then becomes as shown in
`\\\\&' `\\&' a literal `\', then the matched text
`\\\\\\&' `\\\&' a literal `\&'
-Table 9.2: 1992 POSIX Rules for sub and gsub Escape Sequence Processing
+Table 9.2: 1992 POSIX Rules for sub and gsub Escape Sequence
+Processing
This appears to solve the problem. Unfortunately, the phrasing of the
standard is unusual. It says, in effect, that `\' turns off the special
@@ -11322,7 +11476,7 @@ table-sub-proposed::.
`\\q' `\q' a literal `\q'
`\\\\' `\\' `\\'
-Table 9.3: Proposed rules for sub and backslash
+Table 9.3: Proposed rules for sub and backslash
In a nutshell, at the runtime level, there are now three special
sequences of characters (`\\\&', `\\&' and `\&') whereas historically
@@ -11349,7 +11503,7 @@ rules are presented in *note table-posix-sub::.
`\\q' `\q' a literal `\q'
`\\\\' `\\' `\'
-Table 9.4: POSIX rules for `sub()' and `gsub()'
+Table 9.4: POSIX rules for `sub()' and `gsub()'
The only case where the difference is noticeable is the last one:
`\\\\' is seen as `\\' and produces `\' instead of `\\'.
@@ -11381,7 +11535,7 @@ the `\' does not, as shown in *note table-gensub-escapes::.
`\\\\\\&' `\\\&' a literal `\&'
`\\q' `\q' a literal `q'
-Table 9.5: Escape Sequence Processing for `gensub()'
+Table 9.5: Escape Sequence Processing for `gensub()'
Because of the complexity of the lexical and runtime level processing
and the special cases for `sub()' and `gsub()', we recommend the use of
@@ -11930,7 +12084,7 @@ table-bitwise-ops::.
0 | 0 0 | 0 1 | 0 1
1 | 0 1 | 1 1 | 1 0
-Table 9.6: Bitwise Operations
+Table 9.6: Bitwise Operations
As you can see, the result of an AND operation is 1 only when _both_
bits are 1. The result of an OR operation is 1 if _either_ bit is 1.
@@ -20076,6 +20230,9 @@ the current version of `gawk'.
- The `AWKPATH' environment variable for specifying a path
search for the `-f' command-line option (*note Options::).
+ - The `AWKLIBPATH' environment variable for specifying a path
+ search for the `-l' command-line option (*note Options::).
+
- The ability to use GNU-style long-named options that start
with `--' and the `--characters-as-bytes', `--compat',
`--dump-variables', `--exec', `--gen-pot', `--lint',
@@ -22002,12 +22159,12 @@ net effect is that you can use those functions anywhere in the program.
`gawk' has a list of directories where it searches for libraries.
By default, the list includes directories that depend upon how gawk was
-built and installed (*note AWKPATH Variable::). If you want `gawk' to
-look for libraries in your private directory, you have to tell it. The
-way to do it is to set the `AWKPATH' environment variable (*note
-AWKPATH Variable::). `gawk' supplies the default suffix `.so' if it is
-not present in the name of the library. If the name of your library is
-`mylib.so', you can simply type
+built and installed (*note AWKLIBPATH Variable::). If you want `gawk'
+to look for libraries in your private directory, you have to tell it.
+The way to do it is to set the `AWKLIBPATH' environment variable (*note
+AWKLIBPATH Variable::). `gawk' supplies the default shared library
+platform suffix if it is not present in the name of the library. If
+the name of your library is `mylib.so', you can simply type
$ gawk -l mylib -f myprog
@@ -22015,7 +22172,7 @@ not present in the name of the library. If the name of your library is
then call your `dlload()' routine.
You can always specify the library using an absolute pathname, in
-which case `gawk' will not use `AWKPATH' to search for it.
+which case `gawk' will not use `AWKLIBPATH' to search for it.

File: gawk.info, Node: Sample Library, Prev: Loading Extensions, Up: Dynamic Extensions
@@ -24755,7 +24912,7 @@ Index
* * (asterisk), * operator, as regexp operator: Regexp Operators.
(line 87)
* * (asterisk), * operator, null strings, matching: Gory Details.
- (line 164)
+ (line 165)
* * (asterisk), ** operator <1>: Precedence. (line 49)
* * (asterisk), ** operator: Arithmetic Ops. (line 81)
* * (asterisk), **= operator <1>: Precedence. (line 95)
@@ -24795,23 +24952,23 @@ Index
* --gen-pot option <1>: String Extraction. (line 6)
* --gen-pot option: Options. (line 144)
* --help option: Options. (line 151)
-* --L option: Options. (line 263)
-* --lint option <1>: Options. (line 163)
+* --L option: Options. (line 265)
+* --lint option <1>: Options. (line 165)
* --lint option: Command Line. (line 20)
-* --lint-old option: Options. (line 263)
+* --lint-old option: Options. (line 265)
* --load option: Options. (line 156)
* --non-decimal-data option <1>: Nondecimal Data. (line 6)
-* --non-decimal-data option: Options. (line 182)
+* --non-decimal-data option: Options. (line 184)
* --non-decimal-data option, strtonum() function and: Nondecimal Data.
(line 36)
-* --optimize option: Options. (line 203)
-* --posix option: Options. (line 222)
-* --posix option, --traditional option and: Options. (line 241)
-* --pretty-print option: Options. (line 195)
+* --optimize option: Options. (line 205)
+* --posix option: Options. (line 224)
+* --posix option, --traditional option and: Options. (line 243)
+* --pretty-print option: Options. (line 197)
* --profile option <1>: Profiling. (line 12)
-* --profile option: Options. (line 210)
-* --re-interval option: Options. (line 247)
-* --sandbox option: Options. (line 254)
+* --profile option: Options. (line 212)
+* --re-interval option: Options. (line 249)
+* --sandbox option: Options. (line 256)
* --sandbox option, disabling system() function: I/O Functions.
(line 85)
* --sandbox option, input redirection with getline: Getline. (line 19)
@@ -24819,9 +24976,9 @@ Index
(line 6)
* --source option: Options. (line 114)
* --traditional option: Options. (line 78)
-* --traditional option, --posix option and: Options. (line 241)
-* --use-lc-numeric option: Options. (line 190)
-* --version option: Options. (line 268)
+* --traditional option, --posix option and: Options. (line 243)
+* --use-lc-numeric option: Options. (line 192)
+* --version option: Options. (line 270)
* --with-whiny-user-strftime configuration option: Additional Configuration Options.
(line 29)
* -b option: Options. (line 68)
@@ -24835,20 +24992,20 @@ 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 276)
-* -f option, on command line: Options. (line 281)
+* -F option, -Ft sets FS to TAB: Options. (line 278)
+* -f option, on command line: Options. (line 283)
* -g option: Options. (line 144)
* -h option: Options. (line 151)
* -l option: Options. (line 156)
-* -N option: Options. (line 190)
-* -n option: Options. (line 182)
-* -O option: Options. (line 203)
-* -o option: Options. (line 195)
-* -P option: Options. (line 222)
-* -p option: Options. (line 210)
-* -r option: Options. (line 247)
-* -S option: Options. (line 254)
-* -V option: Options. (line 268)
+* -N option: Options. (line 192)
+* -n option: Options. (line 184)
+* -O option: Options. (line 205)
+* -o option: Options. (line 197)
+* -P option: Options. (line 224)
+* -p option: Options. (line 212)
+* -r option: Options. (line 249)
+* -S option: Options. (line 256)
+* -V option: Options. (line 270)
* -v option: Options. (line 32)
* -v option, variables, assigning: Assignment Options. (line 12)
* -W option: Options. (line 46)
@@ -24988,7 +25145,7 @@ Index
(line 67)
* advanced features, data files as single record: Records. (line 175)
* advanced features, fixed-width data: Constant Size. (line 9)
-* advanced features, FNR/NR variables: Auto-set. (line 207)
+* advanced features, FNR/NR variables: Auto-set. (line 208)
* advanced features, gawk: Advanced Features. (line 6)
* advanced features, gawk, network programming: TCP/IP Networking.
(line 6)
@@ -24998,7 +25155,7 @@ Index
(line 23)
* advanced features, network connections, See Also networks, connections: Advanced Features.
(line 6)
-* advanced features, null strings, matching: Gory Details. (line 164)
+* advanced features, null strings, matching: Gory Details. (line 165)
* advanced features, operators, precedence: Increment Ops. (line 61)
* advanced features, piping into sh: Redirection. (line 143)
* advanced features, regexp constants: Assignment Ops. (line 148)
@@ -25095,7 +25252,7 @@ Index
* asterisk (*), * operator, as regexp operator: Regexp Operators.
(line 87)
* asterisk (*), * operator, null strings, matching: Gory Details.
- (line 164)
+ (line 165)
* asterisk (*), ** operator <1>: Precedence. (line 49)
* asterisk (*), ** operator: Arithmetic Ops. (line 81)
* asterisk (*), **= operator <1>: Precedence. (line 95)
@@ -25105,9 +25262,9 @@ Index
* atan2() function: Numeric Functions. (line 11)
* awf (amazingly workable formatter) program: Glossary. (line 25)
* awk debugging, enabling: Options. (line 105)
-* awk enabling: Options. (line 195)
+* awk enabling: Options. (line 197)
* awk language, POSIX version: Assignment Ops. (line 136)
-* awk profiling, enabling: Options. (line 210)
+* awk profiling, enabling: Options. (line 212)
* awk programs <1>: Two Rules. (line 6)
* awk programs <2>: Executable Scripts. (line 6)
* awk programs: Getting Started. (line 12)
@@ -25159,6 +25316,7 @@ Index
* awk, versions of, See Also Brian Kernighan's awk: BTL. (line 6)
* awk.h file (internal): Internals. (line 15)
* awka compiler for awk: Other Versions. (line 55)
+* AWKLIBPATH environment variable: AWKLIBPATH Variable. (line 6)
* AWKNUM internal type: Internals. (line 19)
* AWKPATH environment variable <1>: PC Using. (line 11)
* AWKPATH environment variable: AWKPATH Variable. (line 6)
@@ -25462,7 +25620,7 @@ Index
* cos() function: Numeric Functions. (line 14)
* counting: Wc Program. (line 6)
* csh utility: Statements/Lines. (line 44)
-* csh utility, POSIXLY_CORRECT environment variable: Options. (line 323)
+* csh utility, POSIXLY_CORRECT environment variable: Options. (line 325)
* csh utility, |& operator, comparison with: Two-way I/O. (line 44)
* ctime() user-defined function: Function Example. (line 72)
* currency symbols, localization: Explaining gettext. (line 103)
@@ -25492,9 +25650,9 @@ Index
* dark corner, exit statement: Exit Statement. (line 30)
* dark corner, field separators: Field Splitting Summary.
(line 47)
-* dark corner, FILENAME variable <1>: Auto-set. (line 92)
+* dark corner, FILENAME variable <1>: Auto-set. (line 93)
* dark corner, FILENAME variable: Getline Notes. (line 19)
-* dark corner, FNR/NR variables: Auto-set. (line 207)
+* dark corner, FNR/NR variables: Auto-set. (line 208)
* dark corner, format-control characters: Control Letters. (line 18)
* dark corner, FS as null string: Single Character Fields.
(line 20)
@@ -25631,7 +25789,7 @@ Index
(line 67)
* debugging awk programs: Debugger. (line 6)
* debugging gawk, bug reports: Bugs. (line 9)
-* decimal point character, locale specific: Options. (line 238)
+* decimal point character, locale specific: Options. (line 240)
* decrement operators: Increment Ops. (line 35)
* default keyword: Switch Statement. (line 6)
* Deifik, Scott <1>: Bugs. (line 70)
@@ -25647,6 +25805,8 @@ Index
* differences in awk and gawk, ARGIND variable: Auto-set. (line 40)
* differences in awk and gawk, array elements, deleting: Delete.
(line 39)
+* differences in awk and gawk, AWKLIBPATH environment variable: AWKLIBPATH Variable.
+ (line 6)
* differences in awk and gawk, AWKPATH environment variable: AWKPATH Variable.
(line 6)
* differences in awk and gawk, BEGIN/END patterns: I/O And BEGIN/END.
@@ -25657,7 +25817,7 @@ Index
(line 23)
* differences in awk and gawk, close() function: Close Files And Pipes.
(line 81)
-* differences in awk and gawk, ERRNO variable: Auto-set. (line 72)
+* differences in awk and gawk, ERRNO variable: Auto-set. (line 73)
* differences in awk and gawk, error messages: Special FD. (line 16)
* differences in awk and gawk, FIELDWIDTHS variable: User-modified.
(line 35)
@@ -25686,14 +25846,14 @@ Index
(line 6)
* differences in awk and gawk, print/printf statements: Format Modifiers.
(line 13)
-* differences in awk and gawk, PROCINFO array: Auto-set. (line 123)
+* differences in awk and gawk, PROCINFO array: Auto-set. (line 124)
* differences in awk and gawk, record separators: Records. (line 112)
* differences in awk and gawk, regexp constants: Using Constant Regexps.
(line 43)
* differences in awk and gawk, regular expressions: Case-sensitivity.
(line 26)
* differences in awk and gawk, RS/RT variables: Records. (line 167)
-* differences in awk and gawk, RT variable: Auto-set. (line 196)
+* differences in awk and gawk, RT variable: Auto-set. (line 197)
* differences in awk and gawk, single-character fields: Single Character Fields.
(line 6)
* differences in awk and gawk, split() function: String Functions.
@@ -25710,6 +25870,7 @@ Index
* directories, command line: Command line directories.
(line 6)
* directories, searching <1>: Igawk Program. (line 368)
+* directories, searching <2>: AWKLIBPATH Variable. (line 6)
* directories, searching: AWKPATH Variable. (line 6)
* disable debugger command: Breakpoint Control. (line 69)
* display debugger command: Viewing And Changing Data.
@@ -25786,13 +25947,13 @@ Index
* EREs (Extended Regular Expressions): Bracket Expressions. (line 24)
* ERRNO variable <1>: Internals. (line 130)
* ERRNO variable <2>: TCP/IP Networking. (line 54)
-* ERRNO variable <3>: Auto-set. (line 72)
+* ERRNO variable <3>: Auto-set. (line 73)
* ERRNO variable <4>: BEGINFILE/ENDFILE. (line 26)
* ERRNO variable <5>: Close Files And Pipes.
(line 139)
* ERRNO variable: Getline. (line 19)
* error handling: Special FD. (line 16)
-* error handling, ERRNO variable and: Auto-set. (line 72)
+* error handling, ERRNO variable and: Auto-set. (line 73)
* error output: Special FD. (line 6)
* escape processing, gsub()/gensub()/sub() functions: Gory Details.
(line 6)
@@ -25907,7 +26068,7 @@ Index
* file names, distinguishing: Auto-set. (line 52)
* file names, in compatibility mode: Special Caveats. (line 9)
* file names, standard streams in gawk: Special FD. (line 46)
-* FILENAME variable <1>: Auto-set. (line 92)
+* FILENAME variable <1>: Auto-set. (line 93)
* FILENAME variable: Reading Files. (line 6)
* FILENAME variable, getline, setting with: Getline Notes. (line 19)
* filenames, assignments as: Ignoring Assigns. (line 6)
@@ -25972,9 +26133,9 @@ Index
* floating-point, numbers <1>: Unexpected Results. (line 6)
* floating-point, numbers: Basic Data Typing. (line 21)
* floating-point, numbers, AWKNUM internal type: Internals. (line 19)
-* FNR variable <1>: Auto-set. (line 102)
+* FNR variable <1>: Auto-set. (line 103)
* FNR variable: Records. (line 6)
-* FNR variable, changing: Auto-set. (line 207)
+* FNR variable, changing: Auto-set. (line 208)
* for statement: For Statement. (line 6)
* for statement, in arrays: Scanning an Array. (line 20)
* force_number() internal function: Internals. (line 27)
@@ -26010,7 +26171,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 234)
+* FS variable, as TAB character: Options. (line 236)
* FS variable, changing value of: Field Separators. (line 34)
* FS variable, running awk programs and: Cut Program. (line 68)
* FS variable, setting from command line: Command Line Field Separator.
@@ -26090,13 +26251,13 @@ Index
* gawk, distribution: Distribution contents.
(line 6)
* gawk, ERRNO variable in <1>: TCP/IP Networking. (line 54)
-* gawk, ERRNO variable in <2>: Auto-set. (line 72)
+* gawk, ERRNO variable in <2>: Auto-set. (line 73)
* gawk, ERRNO variable in <3>: BEGINFILE/ENDFILE. (line 26)
* gawk, ERRNO variable in <4>: Close Files And Pipes.
(line 139)
* gawk, ERRNO variable in: Getline. (line 19)
* gawk, escape sequences: Escape Sequences. (line 125)
-* gawk, extensions, disabling: Options. (line 222)
+* gawk, extensions, disabling: Options. (line 224)
* gawk, features, adding: Adding Code. (line 6)
* gawk, features, advanced: Advanced Features. (line 6)
* gawk, fflush() function in: I/O Functions. (line 44)
@@ -26141,7 +26302,7 @@ Index
* gawk, OS/2 version of: PC Using. (line 11)
* gawk, PROCINFO array in <1>: Two-way I/O. (line 116)
* gawk, PROCINFO array in <2>: Time Functions. (line 46)
-* gawk, PROCINFO array in: Auto-set. (line 123)
+* gawk, PROCINFO array in: Auto-set. (line 124)
* gawk, regexp constants and: Using Constant Regexps.
(line 28)
* gawk, regular expressions, case sensitivity: Case-sensitivity.
@@ -26149,7 +26310,7 @@ Index
* gawk, regular expressions, operators: GNU Regexp Operators.
(line 6)
* gawk, regular expressions, precedence: Regexp Operators. (line 157)
-* gawk, RT variable in <1>: Auto-set. (line 196)
+* gawk, RT variable in <1>: Auto-set. (line 197)
* gawk, RT variable in <2>: Getline/Variable/File.
(line 10)
* gawk, RT variable in <3>: Multiple Line. (line 129)
@@ -26161,7 +26322,7 @@ Index
* gawk, TEXTDOMAIN variable in: User-modified. (line 153)
* gawk, timestamps: Time Functions. (line 6)
* gawk, uses for: Preface. (line 36)
-* gawk, versions of, information about, printing: Options. (line 268)
+* gawk, versions of, information about, printing: Options. (line 270)
* gawk, VMS version of: VMS Installation. (line 6)
* gawk, word-boundary operator: GNU Regexp Operators.
(line 63)
@@ -26252,7 +26413,7 @@ Index
* help debugger command: Miscellaneous Debugger Commands.
(line 68)
* hexadecimal numbers: Nondecimal-numbers. (line 6)
-* hexadecimal values, enabling interpretation of: Options. (line 182)
+* hexadecimal values, enabling interpretation of: Options. (line 184)
* histsort.awk program: History Sorting. (line 25)
* Hughes, Phil: Acknowledgments. (line 43)
* HUP signal: Profiling. (line 203)
@@ -26472,9 +26633,9 @@ Index
* lint checking, array subscripts: Uninitialized Subscripts.
(line 43)
* lint checking, empty programs: Command Line. (line 16)
-* lint checking, issuing warnings: Options. (line 163)
+* lint checking, issuing warnings: Options. (line 165)
* lint checking, POSIXLY_CORRECT environment variable: Options.
- (line 307)
+ (line 309)
* lint checking, undefined functions: Pass By Value/Reference.
(line 88)
* LINT variable: User-modified. (line 98)
@@ -26487,7 +26648,7 @@ Index
* loading, library: Options. (line 156)
* local variables: Variable Scope. (line 6)
* locale categories: Explaining gettext. (line 80)
-* locale decimal point character: Options. (line 238)
+* locale decimal point character: Options. (line 240)
* locale, definition of: Locales. (line 6)
* localization: I18N and L10N. (line 6)
* localization, See internationalization, localization: I18N and L10N.
@@ -26523,7 +26684,7 @@ Index
* matching, expressions, See comparison expressions: Typing and Comparison.
(line 9)
* matching, leftmost longest: Multiple Line. (line 26)
-* matching, null strings: Gory Details. (line 164)
+* matching, null strings: Gory Details. (line 165)
* mawk program: Other Versions. (line 35)
* McPhee, Patrick: Contributors. (line 100)
* memory, releasing: Internals. (line 92)
@@ -26555,7 +26716,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 228)
+* newlines <2>: Options. (line 230)
* newlines: Statements/Lines. (line 6)
* newlines, as field separators: Default Field Splitting.
(line 6)
@@ -26583,7 +26744,7 @@ Index
(line 44)
* nexti debugger command: Debugger Execution Control.
(line 49)
-* NF variable <1>: Auto-set. (line 107)
+* NF variable <1>: Auto-set. (line 108)
* NF variable: Fields. (line 33)
* NF variable, decrementing: Changing Fields. (line 107)
* ni debugger command (alias for nexti): Debugger Execution Control.
@@ -26592,9 +26753,9 @@ Index
* NODE internal type: Internals. (line 23)
* nodes, duplicating: Internals. (line 87)
* not Boolean-logic operator: Boolean Ops. (line 6)
-* NR variable <1>: Auto-set. (line 118)
+* NR variable <1>: Auto-set. (line 119)
* NR variable: Records. (line 6)
-* NR variable, changing: Auto-set. (line 207)
+* NR variable, changing: Auto-set. (line 208)
* null strings <1>: Basic Data Typing. (line 50)
* null strings <2>: Truth Values. (line 6)
* null strings <3>: Regexp Field Splitting.
@@ -26604,7 +26765,7 @@ Index
* null strings, as array subscripts: Uninitialized Subscripts.
(line 43)
* null strings, converting numbers to strings: Conversion. (line 21)
-* null strings, matching: Gory Details. (line 164)
+* null strings, matching: Gory Details. (line 165)
* null strings, quoting and: Quoting. (line 62)
* number sign (#), #! (executable scripts): Executable Scripts.
(line 6)
@@ -26635,7 +26796,7 @@ Index
* oawk utility: Names. (line 17)
* obsolete features: Obsolete. (line 6)
* octal numbers: Nondecimal-numbers. (line 6)
-* octal values, enabling interpretation of: Options. (line 182)
+* octal values, enabling interpretation of: Options. (line 184)
* OFMT variable <1>: User-modified. (line 115)
* OFMT variable <2>: Conversion. (line 55)
* OFMT variable: OFMT. (line 15)
@@ -26780,7 +26941,7 @@ Index
* portability, NF variable, decrementing: Changing Fields. (line 115)
* portability, operators: Increment Ops. (line 61)
* portability, operators, not in POSIX awk: Precedence. (line 98)
-* portability, POSIXLY_CORRECT environment variable: Options. (line 328)
+* portability, POSIXLY_CORRECT environment variable: Options. (line 330)
* portability, substr() function: String Functions. (line 512)
* portable object files <1>: Translator i18n. (line 6)
* portable object files: Explaining gettext. (line 36)
@@ -26830,11 +26991,11 @@ Index
* POSIX awk, regular expressions and: Regexp Operators. (line 157)
* POSIX awk, timestamps and: Time Functions. (line 6)
* POSIX awk, | I/O operator and: Getline/Pipe. (line 52)
-* POSIX mode: Options. (line 222)
+* POSIX mode: Options. (line 224)
* 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 307)
+* POSIXLY_CORRECT environment variable: Options. (line 309)
* precedence <1>: Precedence. (line 6)
* precedence: Increment Ops. (line 61)
* precedence, regexp operators: Regexp Operators. (line 152)
@@ -26881,7 +27042,7 @@ Index
* PROCINFO array <4>: Passwd Functions. (line 6)
* PROCINFO array <5>: Two-way I/O. (line 116)
* PROCINFO array <6>: Time Functions. (line 46)
-* PROCINFO array <7>: Auto-set. (line 123)
+* PROCINFO array <7>: Auto-set. (line 124)
* PROCINFO array: Obsolete. (line 11)
* profiling awk programs: Profiling. (line 6)
* profiling awk programs, dynamically: Profiling. (line 171)
@@ -26991,7 +27152,7 @@ Index
(line 59)
* regular expressions, gawk, command-line options: GNU Regexp Operators.
(line 70)
-* regular expressions, interval expressions and: Options. (line 247)
+* regular expressions, interval expressions and: Options. (line 249)
* regular expressions, leftmost longest match: Leftmost Longest.
(line 6)
* regular expressions, operators <1>: Regexp Operators. (line 6)
@@ -27025,7 +27186,7 @@ Index
* right angle bracket (>), >> operator (I/O): Redirection. (line 50)
* right shift, bitwise: Bitwise Functions. (line 32)
* Ritchie, Dennis: Basic Data Typing. (line 74)
-* RLENGTH variable: Auto-set. (line 183)
+* RLENGTH variable: Auto-set. (line 184)
* RLENGTH variable, match() function and: String Functions. (line 223)
* Robbins, Arnold <1>: Future Extensions. (line 6)
* Robbins, Arnold <2>: Bugs. (line 32)
@@ -27050,9 +27211,9 @@ Index
* RS variable: Records. (line 20)
* RS variable, multiline records and: Multiple Line. (line 17)
* rshift() function (gawk): Bitwise Functions. (line 51)
-* RSTART variable: Auto-set. (line 189)
+* RSTART variable: Auto-set. (line 190)
* RSTART variable, match() function and: String Functions. (line 223)
-* RT variable <1>: Auto-set. (line 196)
+* RT variable <1>: Auto-set. (line 197)
* RT variable <2>: Getline/Variable/File.
(line 10)
* RT variable <3>: Multiple Line. (line 129)
@@ -27065,7 +27226,7 @@ Index
* rvalues/lvalues: Assignment Ops. (line 32)
* s debugger command (alias for step): Debugger Execution Control.
(line 68)
-* sandbox mode: Options. (line 254)
+* sandbox mode: Options. (line 256)
* scalar values: Basic Data Typing. (line 13)
* Schorr, Andrew: Acknowledgments. (line 60)
* Schreiber, Bert: Acknowledgments. (line 38)
@@ -27073,7 +27234,9 @@ Index
* search paths <1>: VMS Running. (line 29)
* search paths <2>: PC Using. (line 11)
* search paths <3>: Igawk Program. (line 368)
+* search paths <4>: AWKLIBPATH Variable. (line 6)
* search paths: AWKPATH Variable. (line 6)
+* search paths, for shared libraries: AWKLIBPATH Variable. (line 6)
* search paths, for source files <1>: VMS Running. (line 29)
* search paths, for source files <2>: PC Using. (line 11)
* search paths, for source files <3>: Igawk Program. (line 368)
@@ -27290,6 +27453,7 @@ Index
* time, managing: Gettimeofday Function.
(line 6)
* time, retrieving: Time Functions. (line 17)
+* timeout, reading input: Read Timeout. (line 6)
* timestamps: Time Functions. (line 6)
* timestamps, converting dates to: Time Functions. (line 74)
* timestamps, formatted: Gettimeofday Function.
@@ -27300,7 +27464,7 @@ Index
* trace debugger command: Miscellaneous Debugger Commands.
(line 110)
* translate.awk program: Translate Program. (line 55)
-* troubleshooting, --non-decimal-data option: Options. (line 182)
+* troubleshooting, --non-decimal-data option: Options. (line 184)
* troubleshooting, == operator: Comparison Operators.
(line 37)
* troubleshooting, awk uses FS not IFS: Field Separators. (line 29)
@@ -27433,7 +27597,7 @@ Index
* Wall, Larry <1>: Future Extensions. (line 6)
* Wall, Larry: Array Intro. (line 6)
* Wallin, Anders: Acknowledgments. (line 60)
-* warnings, issuing: Options. (line 163)
+* warnings, issuing: Options. (line 165)
* watch debugger command: Viewing And Changing Data.
(line 67)
* wc utility: Wc Program. (line 6)
@@ -27445,7 +27609,7 @@ Index
* whitespace, as field separators: Default Field Splitting.
(line 6)
* whitespace, functions, calling: Calling Built-in. (line 10)
-* whitespace, newlines as: Options. (line 228)
+* whitespace, newlines as: Options. (line 230)
* Williams, Kent: Contributors. (line 35)
* Woehlke, Matthew: Contributors. (line 79)
* Woods, John: Contributors. (line 28)
@@ -27501,417 +27665,421 @@ Index

Tag Table:
Node: Top1346
-Node: Foreword30346
-Node: Preface34691
-Ref: Preface-Footnote-137744
-Ref: Preface-Footnote-237850
-Node: History38082
-Node: Names40473
-Ref: Names-Footnote-141950
-Node: This Manual42022
-Ref: This Manual-Footnote-146960
-Node: Conventions47060
-Node: Manual History49194
-Ref: Manual History-Footnote-152464
-Ref: Manual History-Footnote-252505
-Node: How To Contribute52579
-Node: Acknowledgments53723
-Node: Getting Started58054
-Node: Running gawk60433
-Node: One-shot61619
-Node: Read Terminal62844
-Ref: Read Terminal-Footnote-164494
-Ref: Read Terminal-Footnote-264770
-Node: Long64941
-Node: Executable Scripts66317
-Ref: Executable Scripts-Footnote-168186
-Ref: Executable Scripts-Footnote-268288
-Node: Comments68739
-Node: Quoting71206
-Node: DOS Quoting75829
-Node: Sample Data Files76504
-Node: Very Simple79536
-Node: Two Rules84135
-Node: More Complex86282
-Ref: More Complex-Footnote-189212
-Node: Statements/Lines89297
-Ref: Statements/Lines-Footnote-193759
-Node: Other Features94024
-Node: When94952
-Node: Invoking Gawk97099
-Node: Command Line98484
-Node: Options99267
-Ref: Options-Footnote-1113412
-Node: Other Arguments113437
-Node: Naming Standard Input116095
-Node: Environment Variables117189
-Node: AWKPATH Variable117633
-Ref: AWKPATH Variable-Footnote-1120230
-Node: Other Environment Variables120490
-Node: Exit Status122830
-Node: Include Files123505
-Node: Obsolete126990
-Node: Undocumented127676
-Node: Regexp127917
-Node: Regexp Usage129306
-Node: Escape Sequences131332
-Node: Regexp Operators137095
-Ref: Regexp Operators-Footnote-1144292
-Ref: Regexp Operators-Footnote-2144439
-Node: Bracket Expressions144537
-Ref: table-char-classes146427
-Node: GNU Regexp Operators148950
-Node: Case-sensitivity152673
-Ref: Case-sensitivity-Footnote-1155641
-Ref: Case-sensitivity-Footnote-2155876
-Node: Leftmost Longest155984
-Node: Computed Regexps157185
-Node: Reading Files160595
-Node: Records162536
-Ref: Records-Footnote-1171210
-Node: Fields171247
-Ref: Fields-Footnote-1174280
-Node: Nonconstant Fields174366
-Node: Changing Fields176568
-Node: Field Separators182549
-Node: Default Field Splitting185178
-Node: Regexp Field Splitting186295
-Node: Single Character Fields189637
-Node: Command Line Field Separator190696
-Node: Field Splitting Summary194137
-Ref: Field Splitting Summary-Footnote-1197329
-Node: Constant Size197430
-Node: Splitting By Content202014
-Ref: Splitting By Content-Footnote-1205740
-Node: Multiple Line205780
-Ref: Multiple Line-Footnote-1211627
-Node: Getline211806
-Node: Plain Getline214034
-Node: Getline/Variable216123
-Node: Getline/File217264
-Node: Getline/Variable/File218586
-Ref: Getline/Variable/File-Footnote-1220185
-Node: Getline/Pipe220272
-Node: Getline/Variable/Pipe222832
-Node: Getline/Coprocess223939
-Node: Getline/Variable/Coprocess225182
-Node: Getline Notes225896
-Node: Getline Summary227838
-Ref: table-getline-variants228181
-Node: Command line directories229037
-Node: Printing229662
-Node: Print231293
-Node: Print Examples232630
-Node: Output Separators235414
-Node: OFMT237174
-Node: Printf238532
-Node: Basic Printf239438
-Node: Control Letters240977
-Node: Format Modifiers244789
-Node: Printf Examples250798
-Node: Redirection253513
-Node: Special Files260497
-Node: Special FD261030
-Ref: Special FD-Footnote-1264655
-Node: Special Network264729
-Node: Special Caveats265579
-Node: Close Files And Pipes266375
-Ref: Close Files And Pipes-Footnote-1273398
-Ref: Close Files And Pipes-Footnote-2273546
-Node: Expressions273696
-Node: Values274828
-Node: Constants275504
-Node: Scalar Constants276184
-Ref: Scalar Constants-Footnote-1277043
-Node: Nondecimal-numbers277225
-Node: Regexp Constants280284
-Node: Using Constant Regexps280759
-Node: Variables283814
-Node: Using Variables284469
-Node: Assignment Options286193
-Node: Conversion288065
-Ref: table-locale-affects293441
-Ref: Conversion-Footnote-1294065
-Node: All Operators294174
-Node: Arithmetic Ops294804
-Node: Concatenation297309
-Ref: Concatenation-Footnote-1300102
-Node: Assignment Ops300222
-Ref: table-assign-ops305210
-Node: Increment Ops306618
-Node: Truth Values and Conditions310088
-Node: Truth Values311171
-Node: Typing and Comparison312220
-Node: Variable Typing313009
-Ref: Variable Typing-Footnote-1316906
-Node: Comparison Operators317028
-Ref: table-relational-ops317438
-Node: POSIX String Comparison320987
-Ref: POSIX String Comparison-Footnote-1321943
-Node: Boolean Ops322081
-Ref: Boolean Ops-Footnote-1326159
-Node: Conditional Exp326250
-Node: Function Calls327982
-Node: Precedence331576
-Node: Locales335245
-Node: Patterns and Actions336334
-Node: Pattern Overview337388
-Node: Regexp Patterns339057
-Node: Expression Patterns339600
-Node: Ranges343285
-Node: BEGIN/END346251
-Node: Using BEGIN/END347013
-Ref: Using BEGIN/END-Footnote-1349744
-Node: I/O And BEGIN/END349850
-Node: BEGINFILE/ENDFILE352132
-Node: Empty355025
-Node: Using Shell Variables355341
-Node: Action Overview357626
-Node: Statements359983
-Node: If Statement361837
-Node: While Statement363336
-Node: Do Statement365380
-Node: For Statement366536
-Node: Switch Statement369688
-Node: Break Statement371785
-Node: Continue Statement373775
-Node: Next Statement375568
-Node: Nextfile Statement377958
-Node: Exit Statement380503
-Node: Built-in Variables382919
-Node: User-modified384014
-Ref: User-modified-Footnote-1392040
-Node: Auto-set392102
-Ref: Auto-set-Footnote-1401393
-Node: ARGC and ARGV401598
-Node: Arrays405449
-Node: Array Basics406954
-Node: Array Intro407780
-Node: Reference to Elements412098
-Node: Assigning Elements414368
-Node: Array Example414859
-Node: Scanning an Array416591
-Node: Controlling Scanning418905
-Ref: Controlling Scanning-Footnote-1423838
-Node: Delete424154
-Ref: Delete-Footnote-1426589
-Node: Numeric Array Subscripts426646
-Node: Uninitialized Subscripts428829
-Node: Multi-dimensional430457
-Node: Multi-scanning433551
-Node: Arrays of Arrays435142
-Node: Functions439787
-Node: Built-in440609
-Node: Calling Built-in441687
-Node: Numeric Functions443675
-Ref: Numeric Functions-Footnote-1447440
-Ref: Numeric Functions-Footnote-2447797
-Ref: Numeric Functions-Footnote-3447845
-Node: String Functions448114
-Ref: String Functions-Footnote-1471611
-Ref: String Functions-Footnote-2471740
-Ref: String Functions-Footnote-3471988
-Node: Gory Details472075
-Ref: table-sub-escapes473754
-Ref: table-sub-posix-92475108
-Ref: table-sub-proposed476451
-Ref: table-posix-sub477801
-Ref: table-gensub-escapes479347
-Ref: Gory Details-Footnote-1480554
-Ref: Gory Details-Footnote-2480605
-Node: I/O Functions480756
-Ref: I/O Functions-Footnote-1487411
-Node: Time Functions487558
-Ref: Time Functions-Footnote-1498450
-Ref: Time Functions-Footnote-2498518
-Ref: Time Functions-Footnote-3498676
-Ref: Time Functions-Footnote-4498787
-Ref: Time Functions-Footnote-5498899
-Ref: Time Functions-Footnote-6499126
-Node: Bitwise Functions499392
-Ref: table-bitwise-ops499950
-Ref: Bitwise Functions-Footnote-1504110
-Node: Type Functions504294
-Node: I18N Functions504764
-Node: User-defined506391
-Node: Definition Syntax507195
-Ref: Definition Syntax-Footnote-1512105
-Node: Function Example512174
-Node: Function Caveats514768
-Node: Calling A Function515189
-Node: Variable Scope516304
-Node: Pass By Value/Reference518279
-Node: Return Statement521719
-Node: Dynamic Typing524700
-Node: Indirect Calls525435
-Node: Internationalization535120
-Node: I18N and L10N536546
-Node: Explaining gettext537232
-Ref: Explaining gettext-Footnote-1542298
-Ref: Explaining gettext-Footnote-2542482
-Node: Programmer i18n542647
-Node: Translator i18n546847
-Node: String Extraction547640
-Ref: String Extraction-Footnote-1548601
-Node: Printf Ordering548687
-Ref: Printf Ordering-Footnote-1551471
-Node: I18N Portability551535
-Ref: I18N Portability-Footnote-1553984
-Node: I18N Example554047
-Ref: I18N Example-Footnote-1556682
-Node: Gawk I18N556754
-Node: Advanced Features557371
-Node: Nondecimal Data558884
-Node: Array Sorting560467
-Node: Controlling Array Traversal561164
-Node: Array Sorting Functions569401
-Ref: Array Sorting Functions-Footnote-1573075
-Ref: Array Sorting Functions-Footnote-2573168
-Node: Two-way I/O573362
-Ref: Two-way I/O-Footnote-1578794
-Node: TCP/IP Networking578864
-Node: Profiling581708
-Node: Library Functions589162
-Ref: Library Functions-Footnote-1592169
-Node: Library Names592340
-Ref: Library Names-Footnote-1595811
-Ref: Library Names-Footnote-2596031
-Node: General Functions596117
-Node: Strtonum Function597070
-Node: Assert Function600000
-Node: Round Function603326
-Node: Cliff Random Function604869
-Node: Ordinal Functions605885
-Ref: Ordinal Functions-Footnote-1608955
-Ref: Ordinal Functions-Footnote-2609207
-Node: Join Function609416
-Ref: Join Function-Footnote-1611187
-Node: Gettimeofday Function611387
-Node: Data File Management615102
-Node: Filetrans Function615734
-Node: Rewind Function619873
-Node: File Checking621260
-Node: Empty Files622354
-Node: Ignoring Assigns624584
-Node: Getopt Function626137
-Ref: Getopt Function-Footnote-1637441
-Node: Passwd Functions637644
-Ref: Passwd Functions-Footnote-1646619
-Node: Group Functions646707
-Node: Walking Arrays654791
-Node: Sample Programs656360
-Node: Running Examples657025
-Node: Clones657753
-Node: Cut Program658977
-Node: Egrep Program668822
-Ref: Egrep Program-Footnote-1676595
-Node: Id Program676705
-Node: Split Program680321
-Ref: Split Program-Footnote-1683840
-Node: Tee Program683968
-Node: Uniq Program686771
-Node: Wc Program694200
-Ref: Wc Program-Footnote-1698466
-Ref: Wc Program-Footnote-2698666
-Node: Miscellaneous Programs698758
-Node: Dupword Program699946
-Node: Alarm Program701977
-Node: Translate Program706726
-Ref: Translate Program-Footnote-1711113
-Ref: Translate Program-Footnote-2711341
-Node: Labels Program711475
-Ref: Labels Program-Footnote-1714846
-Node: Word Sorting714930
-Node: History Sorting718814
-Node: Extract Program720653
-Ref: Extract Program-Footnote-1728136
-Node: Simple Sed728264
-Node: Igawk Program731326
-Ref: Igawk Program-Footnote-1746483
-Ref: Igawk Program-Footnote-2746684
-Node: Anagram Program746822
-Node: Signature Program749890
-Node: Debugger750990
-Node: Debugging751942
-Node: Debugging Concepts752375
-Node: Debugging Terms754231
-Node: Awk Debugging756828
-Node: Sample Debugging Session757720
-Node: Debugger Invocation758240
-Node: Finding The Bug759569
-Node: List of Debugger Commands766057
-Node: Breakpoint Control767391
-Node: Debugger Execution Control771055
-Node: Viewing And Changing Data774415
-Node: Execution Stack777771
-Node: Debugger Info779238
-Node: Miscellaneous Debugger Commands783219
-Node: Readline Support788664
-Node: Limitations789495
-Node: Language History791747
-Node: V7/SVR3.1793259
-Node: SVR4795580
-Node: POSIX797022
-Node: BTL798030
-Node: POSIX/GNU798764
-Node: Common Extensions803915
-Node: Ranges and Locales805022
-Ref: Ranges and Locales-Footnote-1809626
-Node: Contributors809847
-Node: Installation814108
-Node: Gawk Distribution815002
-Node: Getting815486
-Node: Extracting816312
-Node: Distribution contents818004
-Node: Unix Installation823226
-Node: Quick Installation823843
-Node: Additional Configuration Options825805
-Node: Configuration Philosophy827282
-Node: Non-Unix Installation829624
-Node: PC Installation830082
-Node: PC Binary Installation831381
-Node: PC Compiling833229
-Node: PC Testing836173
-Node: PC Using837349
-Node: Cygwin841534
-Node: MSYS842534
-Node: VMS Installation843048
-Node: VMS Compilation843651
-Ref: VMS Compilation-Footnote-1844658
-Node: VMS Installation Details844716
-Node: VMS Running846351
-Node: VMS Old Gawk847958
-Node: Bugs848432
-Node: Other Versions852284
-Node: Notes857599
-Node: Compatibility Mode858291
-Node: Additions859074
-Node: Accessing The Source859886
-Node: Adding Code861311
-Node: New Ports867278
-Node: Dynamic Extensions871391
-Node: Internals872831
-Node: Plugin License881350
-Node: Loading Extensions881988
-Node: Sample Library883798
-Node: Internal File Description884488
-Node: Internal File Ops888203
-Ref: Internal File Ops-Footnote-1892927
-Node: Using Internal File Ops893067
-Node: Future Extensions895444
-Node: Basic Concepts897948
-Node: Basic High Level898705
-Ref: Basic High Level-Footnote-1902740
-Node: Basic Data Typing902925
-Node: Floating Point Issues907450
-Node: String Conversion Precision908533
-Ref: String Conversion Precision-Footnote-1910233
-Node: Unexpected Results910342
-Node: POSIX Floating Point Problems912168
-Ref: POSIX Floating Point Problems-Footnote-1915873
-Node: Glossary915911
-Node: Copying940887
-Node: GNU Free Documentation License978444
-Node: Index1003581
+Node: Foreword30610
+Node: Preface34955
+Ref: Preface-Footnote-138008
+Ref: Preface-Footnote-238114
+Node: History38346
+Node: Names40737
+Ref: Names-Footnote-142214
+Node: This Manual42286
+Ref: This Manual-Footnote-147224
+Node: Conventions47324
+Node: Manual History49458
+Ref: Manual History-Footnote-152728
+Ref: Manual History-Footnote-252769
+Node: How To Contribute52843
+Node: Acknowledgments53987
+Node: Getting Started58318
+Node: Running gawk60697
+Node: One-shot61883
+Node: Read Terminal63108
+Ref: Read Terminal-Footnote-164758
+Ref: Read Terminal-Footnote-265034
+Node: Long65205
+Node: Executable Scripts66581
+Ref: Executable Scripts-Footnote-168450
+Ref: Executable Scripts-Footnote-268552
+Node: Comments69003
+Node: Quoting71470
+Node: DOS Quoting76093
+Node: Sample Data Files76768
+Node: Very Simple79800
+Node: Two Rules84399
+Node: More Complex86546
+Ref: More Complex-Footnote-189476
+Node: Statements/Lines89561
+Ref: Statements/Lines-Footnote-194023
+Node: Other Features94288
+Node: When95216
+Node: Invoking Gawk97363
+Node: Command Line98824
+Node: Options99607
+Ref: Options-Footnote-1113930
+Node: Other Arguments113955
+Node: Naming Standard Input116613
+Node: Environment Variables117707
+Node: AWKPATH Variable118265
+Ref: AWKPATH Variable-Footnote-1120854
+Node: AWKLIBPATH Variable121114
+Node: Other Environment Variables121711
+Node: Exit Status124206
+Node: Include Files124881
+Node: Loading Shared Libraries128382
+Node: Obsolete129599
+Node: Undocumented130296
+Node: Regexp130539
+Node: Regexp Usage131928
+Node: Escape Sequences133954
+Node: Regexp Operators139717
+Ref: Regexp Operators-Footnote-1146914
+Ref: Regexp Operators-Footnote-2147061
+Node: Bracket Expressions147159
+Ref: table-char-classes149049
+Node: GNU Regexp Operators151575
+Node: Case-sensitivity155298
+Ref: Case-sensitivity-Footnote-1158266
+Ref: Case-sensitivity-Footnote-2158501
+Node: Leftmost Longest158609
+Node: Computed Regexps159810
+Node: Reading Files163220
+Node: Records165224
+Ref: Records-Footnote-1173898
+Node: Fields173935
+Ref: Fields-Footnote-1176968
+Node: Nonconstant Fields177054
+Node: Changing Fields179256
+Node: Field Separators185237
+Node: Default Field Splitting187866
+Node: Regexp Field Splitting188983
+Node: Single Character Fields192325
+Node: Command Line Field Separator193384
+Node: Field Splitting Summary196825
+Ref: Field Splitting Summary-Footnote-1200017
+Node: Constant Size200118
+Node: Splitting By Content204702
+Ref: Splitting By Content-Footnote-1208428
+Node: Multiple Line208468
+Ref: Multiple Line-Footnote-1214315
+Node: Getline214494
+Node: Plain Getline216710
+Node: Getline/Variable218799
+Node: Getline/File219940
+Node: Getline/Variable/File221262
+Ref: Getline/Variable/File-Footnote-1222861
+Node: Getline/Pipe222948
+Node: Getline/Variable/Pipe225508
+Node: Getline/Coprocess226615
+Node: Getline/Variable/Coprocess227858
+Node: Getline Notes228572
+Node: Getline Summary230514
+Ref: table-getline-variants230857
+Node: Read Timeout231716
+Ref: Read Timeout-Footnote-1235461
+Node: Command line directories235518
+Node: Printing236148
+Node: Print237779
+Node: Print Examples239116
+Node: Output Separators241900
+Node: OFMT243660
+Node: Printf245018
+Node: Basic Printf245924
+Node: Control Letters247463
+Node: Format Modifiers251275
+Node: Printf Examples257284
+Node: Redirection259999
+Node: Special Files266983
+Node: Special FD267516
+Ref: Special FD-Footnote-1271141
+Node: Special Network271215
+Node: Special Caveats272065
+Node: Close Files And Pipes272861
+Ref: Close Files And Pipes-Footnote-1279884
+Ref: Close Files And Pipes-Footnote-2280032
+Node: Expressions280182
+Node: Values281314
+Node: Constants281990
+Node: Scalar Constants282670
+Ref: Scalar Constants-Footnote-1283529
+Node: Nondecimal-numbers283711
+Node: Regexp Constants286770
+Node: Using Constant Regexps287245
+Node: Variables290300
+Node: Using Variables290955
+Node: Assignment Options292679
+Node: Conversion294551
+Ref: table-locale-affects299927
+Ref: Conversion-Footnote-1300554
+Node: All Operators300663
+Node: Arithmetic Ops301293
+Node: Concatenation303798
+Ref: Concatenation-Footnote-1306591
+Node: Assignment Ops306711
+Ref: table-assign-ops311699
+Node: Increment Ops313110
+Node: Truth Values and Conditions316580
+Node: Truth Values317663
+Node: Typing and Comparison318712
+Node: Variable Typing319501
+Ref: Variable Typing-Footnote-1323398
+Node: Comparison Operators323520
+Ref: table-relational-ops323930
+Node: POSIX String Comparison327482
+Ref: POSIX String Comparison-Footnote-1328438
+Node: Boolean Ops328576
+Ref: Boolean Ops-Footnote-1332654
+Node: Conditional Exp332745
+Node: Function Calls334477
+Node: Precedence338071
+Node: Locales341740
+Node: Patterns and Actions342829
+Node: Pattern Overview343883
+Node: Regexp Patterns345552
+Node: Expression Patterns346095
+Node: Ranges349780
+Node: BEGIN/END352746
+Node: Using BEGIN/END353508
+Ref: Using BEGIN/END-Footnote-1356239
+Node: I/O And BEGIN/END356345
+Node: BEGINFILE/ENDFILE358627
+Node: Empty361520
+Node: Using Shell Variables361836
+Node: Action Overview364121
+Node: Statements366478
+Node: If Statement368332
+Node: While Statement369831
+Node: Do Statement371875
+Node: For Statement373031
+Node: Switch Statement376183
+Node: Break Statement378280
+Node: Continue Statement380270
+Node: Next Statement382063
+Node: Nextfile Statement384453
+Node: Exit Statement386998
+Node: Built-in Variables389414
+Node: User-modified390509
+Ref: User-modified-Footnote-1398535
+Node: Auto-set398597
+Ref: Auto-set-Footnote-1407950
+Node: ARGC and ARGV408155
+Node: Arrays412006
+Node: Array Basics413511
+Node: Array Intro414337
+Node: Reference to Elements418655
+Node: Assigning Elements420925
+Node: Array Example421416
+Node: Scanning an Array423148
+Node: Controlling Scanning425462
+Ref: Controlling Scanning-Footnote-1430395
+Node: Delete430711
+Ref: Delete-Footnote-1433146
+Node: Numeric Array Subscripts433203
+Node: Uninitialized Subscripts435386
+Node: Multi-dimensional437014
+Node: Multi-scanning440108
+Node: Arrays of Arrays441699
+Node: Functions446344
+Node: Built-in447166
+Node: Calling Built-in448244
+Node: Numeric Functions450232
+Ref: Numeric Functions-Footnote-1453997
+Ref: Numeric Functions-Footnote-2454354
+Ref: Numeric Functions-Footnote-3454402
+Node: String Functions454671
+Ref: String Functions-Footnote-1478168
+Ref: String Functions-Footnote-2478297
+Ref: String Functions-Footnote-3478545
+Node: Gory Details478632
+Ref: table-sub-escapes480311
+Ref: table-sub-posix-92481668
+Ref: table-sub-proposed483014
+Ref: table-posix-sub484367
+Ref: table-gensub-escapes485916
+Ref: Gory Details-Footnote-1487126
+Ref: Gory Details-Footnote-2487177
+Node: I/O Functions487328
+Ref: I/O Functions-Footnote-1493983
+Node: Time Functions494130
+Ref: Time Functions-Footnote-1505022
+Ref: Time Functions-Footnote-2505090
+Ref: Time Functions-Footnote-3505248
+Ref: Time Functions-Footnote-4505359
+Ref: Time Functions-Footnote-5505471
+Ref: Time Functions-Footnote-6505698
+Node: Bitwise Functions505964
+Ref: table-bitwise-ops506522
+Ref: Bitwise Functions-Footnote-1510685
+Node: Type Functions510869
+Node: I18N Functions511339
+Node: User-defined512966
+Node: Definition Syntax513770
+Ref: Definition Syntax-Footnote-1518680
+Node: Function Example518749
+Node: Function Caveats521343
+Node: Calling A Function521764
+Node: Variable Scope522879
+Node: Pass By Value/Reference524854
+Node: Return Statement528294
+Node: Dynamic Typing531275
+Node: Indirect Calls532010
+Node: Internationalization541695
+Node: I18N and L10N543121
+Node: Explaining gettext543807
+Ref: Explaining gettext-Footnote-1548873
+Ref: Explaining gettext-Footnote-2549057
+Node: Programmer i18n549222
+Node: Translator i18n553422
+Node: String Extraction554215
+Ref: String Extraction-Footnote-1555176
+Node: Printf Ordering555262
+Ref: Printf Ordering-Footnote-1558046
+Node: I18N Portability558110
+Ref: I18N Portability-Footnote-1560559
+Node: I18N Example560622
+Ref: I18N Example-Footnote-1563257
+Node: Gawk I18N563329
+Node: Advanced Features563946
+Node: Nondecimal Data565459
+Node: Array Sorting567042
+Node: Controlling Array Traversal567739
+Node: Array Sorting Functions575976
+Ref: Array Sorting Functions-Footnote-1579650
+Ref: Array Sorting Functions-Footnote-2579743
+Node: Two-way I/O579937
+Ref: Two-way I/O-Footnote-1585369
+Node: TCP/IP Networking585439
+Node: Profiling588283
+Node: Library Functions595737
+Ref: Library Functions-Footnote-1598744
+Node: Library Names598915
+Ref: Library Names-Footnote-1602386
+Ref: Library Names-Footnote-2602606
+Node: General Functions602692
+Node: Strtonum Function603645
+Node: Assert Function606575
+Node: Round Function609901
+Node: Cliff Random Function611444
+Node: Ordinal Functions612460
+Ref: Ordinal Functions-Footnote-1615530
+Ref: Ordinal Functions-Footnote-2615782
+Node: Join Function615991
+Ref: Join Function-Footnote-1617762
+Node: Gettimeofday Function617962
+Node: Data File Management621677
+Node: Filetrans Function622309
+Node: Rewind Function626448
+Node: File Checking627835
+Node: Empty Files628929
+Node: Ignoring Assigns631159
+Node: Getopt Function632712
+Ref: Getopt Function-Footnote-1644016
+Node: Passwd Functions644219
+Ref: Passwd Functions-Footnote-1653194
+Node: Group Functions653282
+Node: Walking Arrays661366
+Node: Sample Programs662935
+Node: Running Examples663600
+Node: Clones664328
+Node: Cut Program665552
+Node: Egrep Program675397
+Ref: Egrep Program-Footnote-1683170
+Node: Id Program683280
+Node: Split Program686896
+Ref: Split Program-Footnote-1690415
+Node: Tee Program690543
+Node: Uniq Program693346
+Node: Wc Program700775
+Ref: Wc Program-Footnote-1705041
+Ref: Wc Program-Footnote-2705241
+Node: Miscellaneous Programs705333
+Node: Dupword Program706521
+Node: Alarm Program708552
+Node: Translate Program713301
+Ref: Translate Program-Footnote-1717688
+Ref: Translate Program-Footnote-2717916
+Node: Labels Program718050
+Ref: Labels Program-Footnote-1721421
+Node: Word Sorting721505
+Node: History Sorting725389
+Node: Extract Program727228
+Ref: Extract Program-Footnote-1734711
+Node: Simple Sed734839
+Node: Igawk Program737901
+Ref: Igawk Program-Footnote-1753058
+Ref: Igawk Program-Footnote-2753259
+Node: Anagram Program753397
+Node: Signature Program756465
+Node: Debugger757565
+Node: Debugging758517
+Node: Debugging Concepts758950
+Node: Debugging Terms760806
+Node: Awk Debugging763403
+Node: Sample Debugging Session764295
+Node: Debugger Invocation764815
+Node: Finding The Bug766144
+Node: List of Debugger Commands772632
+Node: Breakpoint Control773966
+Node: Debugger Execution Control777630
+Node: Viewing And Changing Data780990
+Node: Execution Stack784346
+Node: Debugger Info785813
+Node: Miscellaneous Debugger Commands789794
+Node: Readline Support795239
+Node: Limitations796070
+Node: Language History798322
+Node: V7/SVR3.1799834
+Node: SVR4802155
+Node: POSIX803597
+Node: BTL804605
+Node: POSIX/GNU805339
+Node: Common Extensions810630
+Node: Ranges and Locales811737
+Ref: Ranges and Locales-Footnote-1816341
+Node: Contributors816562
+Node: Installation820823
+Node: Gawk Distribution821717
+Node: Getting822201
+Node: Extracting823027
+Node: Distribution contents824719
+Node: Unix Installation829941
+Node: Quick Installation830558
+Node: Additional Configuration Options832520
+Node: Configuration Philosophy833997
+Node: Non-Unix Installation836339
+Node: PC Installation836797
+Node: PC Binary Installation838096
+Node: PC Compiling839944
+Node: PC Testing842888
+Node: PC Using844064
+Node: Cygwin848249
+Node: MSYS849249
+Node: VMS Installation849763
+Node: VMS Compilation850366
+Ref: VMS Compilation-Footnote-1851373
+Node: VMS Installation Details851431
+Node: VMS Running853066
+Node: VMS Old Gawk854673
+Node: Bugs855147
+Node: Other Versions858999
+Node: Notes864314
+Node: Compatibility Mode865006
+Node: Additions865789
+Node: Accessing The Source866601
+Node: Adding Code868026
+Node: New Ports873993
+Node: Dynamic Extensions878106
+Node: Internals879546
+Node: Plugin License888065
+Node: Loading Extensions888703
+Node: Sample Library890542
+Node: Internal File Description891232
+Node: Internal File Ops894947
+Ref: Internal File Ops-Footnote-1899671
+Node: Using Internal File Ops899811
+Node: Future Extensions902188
+Node: Basic Concepts904692
+Node: Basic High Level905449
+Ref: Basic High Level-Footnote-1909484
+Node: Basic Data Typing909669
+Node: Floating Point Issues914194
+Node: String Conversion Precision915277
+Ref: String Conversion Precision-Footnote-1916977
+Node: Unexpected Results917086
+Node: POSIX Floating Point Problems918912
+Ref: POSIX Floating Point Problems-Footnote-1922617
+Node: Glossary922655
+Node: Copying947631
+Node: GNU Free Documentation License985188
+Node: Index1010325

End Tag Table