aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info985
1 files changed, 494 insertions, 491 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index 4c4f57b2..2f45d06f 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -8406,7 +8406,9 @@ File: gawk.info, Node: Locales, Prev: Precedence, Up: Expressions
====================================
Modern systems support the notion of "locales": a way to tell the
-system about the local character set and language.
+system about the local character set and language. The ISO C standard
+defines a default `"C"' locale, which is an environment that is typical
+of what many C programmers are used to.
Once upon a time, the locale setting used to affect regexp matching
(*note Ranges and Locales::), but this is no longer true.
@@ -8418,6 +8420,13 @@ much better performance when reading records. Otherwise, `gawk' has to
make several function calls, _per input character_, to find the record
terminator.
+ Locales can affect how dates and times are formatted (*note Time
+Functions::). For example, a common way to abbreviate the date
+September 4, 2015 in the United States is "9/4/15." In many countries
+in Europe, however, it is abbreviated "4.9.15." Thus, the `%x'
+specification in a `"US"' locale might produce `9/4/15', while in a
+`"EUROPE"' locale, it might produce `4.9.15'.
+
According to POSIX, string comparison is also affected by locales
(similar to regular expressions). The details are presented in *note
POSIX String Comparison::.
@@ -11338,12 +11347,22 @@ returns the number of characters in a string, and not the number of
bytes used to represent those characters. Similarly, `index()' works
with character indices, and not byte indices.
+ CAUTION: A number of functions deal with indices into strings.
+ For these functions, the first character of a string is at
+ position (index) one. This is different from C and the languages
+ descended from it, where the first character is at position zero.
+ You need to remember this when doing index calculations,
+ particularly if you are used to C.
+
In the following list, optional parameters are enclosed in square
brackets ([ ]). Several functions perform string substitution; the
full discussion is provided in the description of the `sub()' function,
which comes towards the end since the list is presented in alphabetic
-order. Those functions that are specific to `gawk' are marked with a
-pound sign (`#'):
+order.
+
+ Those functions that are specific to `gawk' are marked with a pound
+sign (`#'). They are not available in compatibility mode (*note
+Options::):
* Menu:
@@ -11351,8 +11370,8 @@ pound sign (`#'):
`&' with `sub()', `gsub()', and
`gensub()'.
-`asort('SOURCE [`,' DEST [`,' HOW ] ]`)' #
-`asorti('SOURCE [`,' DEST [`,' HOW ] ]`)' #
+`asort('SOURCE [`,' DEST [`,' HOW ] ]`) #'
+`asorti('SOURCE [`,' DEST [`,' HOW ] ]`) #'
These two functions are similar in behavior, so they are described
together.
@@ -11399,10 +11418,7 @@ pound sign (`#'):
a[2] = "last"
a[3] = "middle"
- `asort()' and `asorti()' are `gawk' extensions; they are not
- available in compatibility mode (*note Options::).
-
-`gensub(REGEXP, REPLACEMENT, HOW' [`, TARGET']`)' #
+`gensub(REGEXP, REPLACEMENT, HOW' [`, TARGET']`) #'
Search the target string TARGET for matches of the regular
expression REGEXP. If HOW is a string beginning with `g' or `G'
(short for "global"), then replace all matches of REGEXP with
@@ -11452,9 +11468,6 @@ pound sign (`#'):
If REGEXP does not match TARGET, `gensub()''s return value is the
original unchanged value of TARGET.
- `gensub()' is a `gawk' extension; it is not available in
- compatibility mode (*note Options::).
-
`gsub(REGEXP, REPLACEMENT' [`, TARGET']`)'
Search TARGET for _all_ of the longest, leftmost, _nonoverlapping_
matching substrings it can find and replace them with REPLACEMENT.
@@ -11479,8 +11492,7 @@ pound sign (`#'):
$ awk 'BEGIN { print index("peanut", "an") }'
-| 3
- If FIND is not found, `index()' returns zero. (Remember that
- string indices in `awk' start at one.)
+ If FIND is not found, `index()' returns zero.
It is a fatal error to use a regexp constant for FIND.
@@ -11526,12 +11538,12 @@ pound sign (`#'):
`match(STRING, REGEXP' [`, ARRAY']`)'
Search STRING for the longest, leftmost substring matched by the
- regular expression, REGEXP and return the character position, or
- "index", at which that substring begins (one, if it starts at the
+ regular expression, REGEXP and return the character position
+ (index) at which that substring begins (one, if it starts at the
beginning of STRING). If no match is found, return zero.
- The REGEXP argument may be either a regexp constant (`/.../') or a
- string constant (`"..."'). In the latter case, the string is
+ The REGEXP argument may be either a regexp constant (`/'...`/') or
+ a string constant (`"'...`"'). In the latter case, the string is
treated as a regexp to be matched. *Note Computed Regexps::, for a
discussion of the difference between the two forms, and the
implications for writing your program correctly.
@@ -11611,7 +11623,7 @@ pound sign (`#'):
compatibility mode (*note Options::), using a third argument is a
fatal error.
-`patsplit(STRING, ARRAY' [`, FIELDPAT' [`, SEPS' ] ]`)' #
+`patsplit(STRING, ARRAY' [`, FIELDPAT' [`, SEPS' ] ]`) #'
Divide STRING into pieces defined by FIELDPAT and store the pieces
in ARRAY and the separator strings in the SEPS array. The first
piece is stored in `ARRAY[1]', the second piece in `ARRAY[2]', and
@@ -11630,9 +11642,6 @@ pound sign (`#'):
Before splitting the string, `patsplit()' deletes any previously
existing elements in the arrays ARRAY and SEPS.
- The `patsplit()' function is a `gawk' extension. In compatibility
- mode (*note Options::), it is not available.
-
`split(STRING, ARRAY' [`, FIELDSEP' [`, SEPS' ] ]`)'
Divide STRING into pieces separated by FIELDSEP and store the
pieces in ARRAY and the separator strings in the SEPS array. The
@@ -11698,6 +11707,9 @@ pound sign (`#'):
has one element only. The value of that element is the original
STRING.
+ In POSIX mode (*note Options::), the fourth argument is not
+ allowed.
+
`sprintf(FORMAT, EXPRESSION1, ...)'
Return (without printing) the string that `printf' would have
printed out with the same arguments (*note Printf::). For example:
@@ -11706,7 +11718,7 @@ pound sign (`#'):
assigns the string `pi = 3.14 (approx.)' to the variable `pival'.
-`strtonum(STR)' #
+`strtonum(STR) #'
Examine STR and return its numeric value. If STR begins with a
leading `0', `strtonum()' assumes that STR is an octal number. If
STR begins with a leading `0x' or `0X', `strtonum()' assumes that
@@ -11723,9 +11735,6 @@ pound sign (`#'):
Note also that `strtonum()' uses the current locale's decimal point
for recognizing numbers (*note Locales::).
- `strtonum()' is a `gawk' extension; it is not available in
- compatibility mode (*note Options::).
-
`sub(REGEXP, REPLACEMENT' [`, TARGET']`)'
Search TARGET, which is treated as a string, for the leftmost,
longest substring matched by the regular expression REGEXP.
@@ -11733,8 +11742,8 @@ pound sign (`#'):
REPLACEMENT. The modified string becomes the new value of TARGET.
Return the number of substitutions made (zero or one).
- The REGEXP argument may be either a regexp constant (`/.../') or a
- string constant (`"..."'). In the latter case, the string is
+ The REGEXP argument may be either a regexp constant (`/'...`/') or
+ a string constant (`"'...`"'). In the latter case, the string is
treated as a regexp to be matched. *Note Computed Regexps::, for a
discussion of the difference between the two forms, and the
implications for writing your program correctly.
@@ -11877,9 +11886,9 @@ backslashes and ampersands into the replacement text, you need to
remember that there are several levels of "escape processing" going on.
First, there is the "lexical" level, which is when `awk' reads your
-program and builds an internal copy of it that can be executed. Then
-there is the runtime level, which is when `awk' actually scans the
-replacement string to determine what to generate.
+program and builds an internal copy of it to execute. Then there is
+the runtime level, which is when `awk' actually scans the replacement
+string to determine what to generate.
At both levels, `awk' looks for a defined set of characters that can
come after a backslash. At the lexical level, it looks for the escape
@@ -12071,6 +12080,9 @@ parameters are enclosed in square brackets ([ ]):
not matter. *Note Two-way I/O::, which discusses this feature in
more detail and gives an example.
+ Note that the second argument to `close()' is a `gawk' extension;
+ it is not available in compatibility mode (*note Options::).
+
`fflush('[FILENAME]`)'
Flush any buffered output associated with FILENAME, which is
either a file opened for writing or a shell command for
@@ -12087,10 +12099,10 @@ parameters are enclosed in square brackets ([ ]):
function--`gawk' also buffers its output and the `fflush()'
function forces `gawk' to flush its buffers.
- `fflush()' was added to Brian Kernighan's version of `awk' in
- April of 1992. For two decades, it was not part of the POSIX
- standard. As of December, 2012, it was accepted for inclusion
- into the POSIX standard. See the Austin Group website
+ `fflush()' was added to Brian Kernighan's `awk' in April of 1992.
+ For two decades, it was not part of the POSIX standard. As of
+ December, 2012, it was accepted for inclusion into the POSIX
+ standard. See the Austin Group website
(http://austingroupbugs.net/view.php?id=634).
POSIX standardizes `fflush()' as follows: If there is no argument,
@@ -12108,7 +12120,7 @@ parameters are enclosed in square brackets ([ ]):
to flush only the standard output.
`fflush()' returns zero if the buffer is successfully flushed;
- otherwise, it returns non-zero (`gawk' returns -1). In the case
+ otherwise, it returns non-zero. (`gawk' returns -1.) In the case
where all buffers are flushed, the return value is zero only if
all buffers were flushed successfully. Otherwise, it is -1, and
`gawk' warns about the problem FILENAME.
@@ -12278,7 +12290,7 @@ enclosed in square brackets ([ ]):
If DATESPEC does not contain enough elements or if the resulting
time is out of range, `mktime()' returns -1.
-``strftime(' [FORMAT [`,' TIMESTAMP [`,' UTC-FLAG ]]]`)''
+`strftime(' [FORMAT [`,' TIMESTAMP [`,' UTC-FLAG] ] ]`)'
Format the time specified by TIMESTAMP based on the contents of
the FORMAT string and return the result. It is similar to the
function of the same name in ISO C. If UTC-FLAG is present and is
@@ -12358,11 +12370,11 @@ the following date format specifications:
`%g'
The year modulo 100 of the ISO 8601 week number, as a decimal
- number (00-99). For example, January 1, 1993 is in week 53 of
- 1992. Thus, the year of its ISO 8601 week number is 1992, even
- though its year is 1993. Similarly, December 31, 1973 is in week
- 1 of 1974. Thus, the year of its ISO week number is 1974, even
- though its year is 1973.
+ number (00-99). For example, January 1, 2012 is in week 53 of
+ 2011. Thus, the year of its ISO 8601 week number is 2011, even
+ though its year is 2012. Similarly, December 31, 2012 is in week
+ 1 of 2013. Thus, the year of its ISO week number is 2013, even
+ though its year is 2012.
`%G'
The full year of the ISO week number, as a decimal number.
@@ -12442,7 +12454,7 @@ the following date format specifications:
The year modulo 100 as a decimal number (00-99).
`%Y'
- The full year as a decimal number (e.g., 2011).
+ The full year as a decimal number (e.g., 2015).
`%z'
The timezone offset in a +HHMM format (e.g., the format necessary
@@ -12464,15 +12476,6 @@ the following date format specifications:
If a conversion specifier is not one of the above, the behavior is
undefined.(6)
- Informally, a "locale" is the geographic place in which a program is
-meant to run. For example, a common way to abbreviate the date
-September 4, 2012 in the United States is "9/4/12." In many countries
-in Europe, however, it is abbreviated "4.9.12." Thus, the `%x'
-specification in a `"US"' locale might produce `9/4/12', while in a
-`"EUROPE"' locale, it might produce `4.9.12'. The ISO C standard
-defines a default `"C"' locale, which is an environment that is typical
-of what many C programmers are used to.
-
For systems that are not yet fully standards-compliant, `gawk'
supplies a copy of `strftime()' from the GNU C Library. It supports
all of the just-listed format specifications. If that version is used
@@ -12502,7 +12505,7 @@ to the standard output and interprets the current time according to the
format specifiers in the string. For example:
$ date '+Today is %A, %B %d, %Y.'
- -| Today is Wednesday, March 30, 2011.
+ -| Today is Monday, May 05, 2014.
Here is the `gawk' version of the `date' utility. It has a shell
"wrapper" to handle the `-u' option, which requires that `date' run as
@@ -12519,7 +12522,7 @@ if the time zone is set to UTC:
esac
gawk 'BEGIN {
- format = "%a %b %e %H:%M:%S %Z %Y"
+ format = PROCINFO["strftime"]
exitval = 0
if (ARGC > 2)
@@ -12697,8 +12700,8 @@ File: gawk.info, Node: Type Functions, Next: I18N Functions, Prev: Bitwise Fu
`gawk' provides a single function that lets you distinguish an array
from a scalar variable. This is necessary for writing code that
-traverses every element of a true multidimensional array (*note Arrays
-of Arrays::).
+traverses every element of an array of arrays. (*note Arrays of
+Arrays::).
`isarray(X)'
Return a true value if X is an array. Otherwise return false.
@@ -12728,7 +12731,7 @@ descriptions here are purposely brief. *Note Internationalization::,
for the full story. Optional parameters are enclosed in square
brackets ([ ]):
-``bindtextdomain(DIRECTORY' [`,' DOMAIN ]`)''
+`bindtextdomain(DIRECTORY' [`,' DOMAIN]`)'
Set the directory in which `gawk' will look for message
translation files, in case they will not or cannot be placed in
the "standard" locations (e.g., during testing). It returns the
@@ -12738,13 +12741,13 @@ brackets ([ ]):
the null string (`""'), then `bindtextdomain()' returns the
current binding for the given DOMAIN.
-``dcgettext(STRING' [`,' DOMAIN [`,' CATEGORY ]]`)''
+`dcgettext(STRING' [`,' DOMAIN [`,' CATEGORY] ]`)'
Return the translation of STRING in text domain DOMAIN for locale
category CATEGORY. The default value for DOMAIN is the current
value of `TEXTDOMAIN'. The default value for CATEGORY is
`"LC_MESSAGES"'.
-``dcngettext(STRING1, STRING2, NUMBER' [`,' DOMAIN [`,' CATEGORY ]]`)''
+`dcngettext(STRING1, STRING2, NUMBER' [`,' DOMAIN [`,' CATEGORY] ]`)'
Return the plural form used for NUMBER of the translation of
STRING1 and STRING2 in text domain DOMAIN for locale category
CATEGORY. STRING1 is the English singular variant of a message,
@@ -12807,7 +12810,7 @@ a parameter with the same name as the function itself.
In addition, according to the POSIX standard, function parameters
cannot have the same name as one of the special built-in variables
-(*note Built-in Variables::. Not all versions of `awk' enforce this
+(*note Built-in Variables::). Not all versions of `awk' enforce this
restriction.)
The BODY-OF-FUNCTION consists of `awk' statements. It is the most
@@ -12957,7 +12960,7 @@ an `awk' version of `ctime()':
function ctime(ts, format)
{
- format = "%a %b %e %H:%M:%S %Z %Y"
+ format = PROCINFO["strftime"]
if (ts == 0)
ts = systime() # use current time as default
return strftime(format, ts)
@@ -13011,9 +13014,10 @@ File: gawk.info, Node: Variable Scope, Next: Pass By Value/Reference, Prev: C
9.2.3.2 Controlling Variable Scope
..................................
-There is no way to make a variable local to a `{ ... }' block in `awk',
-but you can make a variable local to a function. It is good practice to
-do so whenever a variable is needed only in that function.
+Unlike many languages, there is no way to make a variable local to a
+`{' ... `}' block in `awk', but you can make a variable local to a
+function. It is good practice to do so whenever a variable is needed
+only in that function.
To make a variable local to a function, simply declare the variable
as an argument after the actual function arguments (*note Definition
@@ -13236,7 +13240,7 @@ like this:
The EXPRESSION part is optional. Due most likely to an oversight,
POSIX does not define what the return value is if you omit the
-EXPRESSION. Technically speaking, this make the returned value
+EXPRESSION. Technically speaking, this makes the returned value
undefined, and therefore, unpredictable. In practice, though, all
versions of `awk' simply return the null string, which acts like zero
if used in a numeric context.
@@ -13330,8 +13334,8 @@ Here is an annotated sample program:
}
In this example, the first call to `foo()' generates a fatal error,
-so `gawk' will not report the second error. If you comment out that
-call, though, then `gawk' will report the second error.
+so `awk' will not report the second error. If you comment out that
+call, though, then `awk' does report the second error.
Usually, such things aren't a big issue, but it's worth being aware
of them.
@@ -30226,7 +30230,7 @@ Index
* --re-interval option: Options. (line 279)
* --sandbox option: Options. (line 286)
* --sandbox option, disabling system() function: I/O Functions.
- (line 94)
+ (line 97)
* --sandbox option, input redirection with getline: Getline. (line 19)
* --sandbox option, output redirection with print, printf: Redirection.
(line 6)
@@ -30461,7 +30465,7 @@ Index
(line 6)
* array scanning order, controlling: Controlling Scanning.
(line 14)
-* array, number of elements: String Functions. (line 194)
+* array, number of elements: String Functions. (line 197)
* arrays: Arrays. (line 6)
* arrays of arrays: Arrays of Arrays. (line 6)
* arrays, an example of using: Array Example. (line 6)
@@ -30477,7 +30481,7 @@ Index
* arrays, elements, deleting: Delete. (line 6)
* arrays, elements, order of access by in operator: Scanning an Array.
(line 48)
-* arrays, elements, retrieving number of: String Functions. (line 32)
+* arrays, elements, retrieving number of: String Functions. (line 42)
* arrays, for statement and: Scanning an Array. (line 20)
* arrays, indexing: Array Intro. (line 50)
* arrays, merging into strings: Join Function. (line 6)
@@ -30504,12 +30508,12 @@ Index
* ASCII: Ordinal Functions. (line 45)
* asort <1>: Array Sorting Functions.
(line 6)
-* asort: String Functions. (line 32)
+* asort: String Functions. (line 42)
* asort() function (gawk), arrays, sorting: Array Sorting Functions.
(line 6)
* asorti <1>: Array Sorting Functions.
(line 6)
-* asorti: String Functions. (line 32)
+* asorti: String Functions. (line 42)
* asorti() function (gawk), arrays, sorting: Array Sorting Functions.
(line 6)
* assert() function (C library): Assert Function. (line 6)
@@ -30734,7 +30738,7 @@ Index
* Brennan, Michael <3>: Simple Sed. (line 25)
* Brennan, Michael <4>: Delete. (line 56)
* Brennan, Michael: Foreword. (line 83)
-* Brian Kernighan's awk <1>: I/O Functions. (line 40)
+* Brian Kernighan's awk <1>: I/O Functions. (line 43)
* Brian Kernighan's awk <2>: Gory Details. (line 15)
* Brian Kernighan's awk <3>: String Functions. (line 490)
* Brian Kernighan's awk <4>: Delete. (line 48)
@@ -30763,9 +30767,9 @@ Index
* Buening, Andreas <2>: Contributors. (line 92)
* Buening, Andreas: Acknowledgments. (line 60)
* buffering, input/output <1>: Two-way I/O. (line 70)
-* buffering, input/output: I/O Functions. (line 137)
-* buffering, interactive vs. noninteractive: I/O Functions. (line 106)
-* buffers, flushing: I/O Functions. (line 29)
+* buffering, input/output: I/O Functions. (line 140)
+* buffering, interactive vs. noninteractive: I/O Functions. (line 109)
+* buffers, flushing: I/O Functions. (line 32)
* buffers, operators for: GNU Regexp Operators.
(line 48)
* bug reports, email address, bug-gawk@gnu.org: Bugs. (line 30)
@@ -30874,7 +30878,7 @@ Index
* common extensions, delete to delete entire arrays: Delete. (line 39)
* common extensions, func keyword: Definition Syntax. (line 83)
* common extensions, length() applied to an array: String Functions.
- (line 194)
+ (line 197)
* common extensions, RS as a regexp: gawk split records. (line 6)
* common extensions, single character fields: Single Character Fields.
(line 6)
@@ -30928,7 +30932,7 @@ Index
* controlling array scanning order: Controlling Scanning.
(line 14)
* convert string to lower case: String Functions. (line 521)
-* convert string to number: String Functions. (line 385)
+* convert string to number: String Functions. (line 388)
* convert string to upper case: String Functions. (line 527)
* converting integer array subscripts: Numeric Array Subscripts.
(line 31)
@@ -30994,7 +30998,7 @@ Index
(line 20)
* dark corner, input files: awk split records. (line 110)
* dark corner, invoking awk: Command Line. (line 16)
-* dark corner, length() function: String Functions. (line 180)
+* dark corner, length() function: String Functions. (line 183)
* dark corner, locale's decimal point character: Conversion. (line 75)
* dark corner, multiline records: Multiple Line. (line 35)
* dark corner, NF variable, decrementing: Changing Fields. (line 107)
@@ -31013,7 +31017,7 @@ Index
* database, group, reading: Group Functions. (line 6)
* database, users, reading: Passwd Functions. (line 6)
* date utility, GNU: Time Functions. (line 17)
-* date utility, POSIX: Time Functions. (line 263)
+* date utility, POSIX: Time Functions. (line 254)
* dates, converting to timestamps: Time Functions. (line 76)
* dates, information related to, localization: Explaining gettext.
(line 115)
@@ -31150,7 +31154,7 @@ Index
* deleting entire arrays: Delete. (line 39)
* Demaille, Akim: Acknowledgments. (line 60)
* describe call stack frame, in debugger: Debugger Info. (line 27)
-* differences between gawk and awk: String Functions. (line 194)
+* differences between gawk and awk: String Functions. (line 197)
* differences in awk and gawk, ARGC/ARGV variables: ARGC and ARGV.
(line 88)
* differences in awk and gawk, ARGIND variable: Auto-set. (line 44)
@@ -31197,7 +31201,7 @@ Index
(line 34)
* differences in awk and gawk, LINT variable: User-modified. (line 88)
* differences in awk and gawk, match() function: String Functions.
- (line 257)
+ (line 260)
* differences in awk and gawk, print/printf statements: Format Modifiers.
(line 13)
* differences in awk and gawk, PROCINFO array: Auto-set. (line 136)
@@ -31393,10 +31397,10 @@ Index
* extensions, common, \x escape sequence: Escape Sequences. (line 61)
* extensions, common, BINMODE variable: PC Using. (line 33)
* extensions, common, delete to delete entire arrays: Delete. (line 39)
-* extensions, common, fflush() function: I/O Functions. (line 40)
+* extensions, common, fflush() function: I/O Functions. (line 43)
* extensions, common, func keyword: Definition Syntax. (line 83)
* extensions, common, length() applied to an array: String Functions.
- (line 194)
+ (line 197)
* extensions, common, RS as a regexp: gawk split records. (line 6)
* extensions, common, single character fields: Single Character Fields.
(line 6)
@@ -31415,7 +31419,7 @@ Index
* features, undocumented: Undocumented. (line 6)
* Fenlason, Jay <1>: Contributors. (line 18)
* Fenlason, Jay: History. (line 30)
-* fflush: I/O Functions. (line 25)
+* fflush: I/O Functions. (line 28)
* field numbers: Nonconstant Fields. (line 6)
* field operator $: Fields. (line 19)
* field operators, dollar sign as: Fields. (line 19)
@@ -31508,7 +31512,7 @@ Index
* files, source, search path for: Igawk Program. (line 368)
* files, splitting: Split Program. (line 6)
* files, Texinfo, extracting programs from: Extract Program. (line 6)
-* find substring in string: String Functions. (line 151)
+* find substring in string: String Functions. (line 155)
* finding extensions: Finding Extensions. (line 6)
* finish debugger command: Debugger Execution Control.
(line 39)
@@ -31521,7 +31525,7 @@ Index
* floating-point, numbers, arbitrary precision: Arbitrary Precision Arithmetic.
(line 6)
* floating-point, VAX/VMS: VMS Running. (line 51)
-* flush buffered output: I/O Functions. (line 25)
+* flush buffered output: I/O Functions. (line 28)
* fnmatch() extension function: Extension Sample Fnmatch.
(line 12)
* FNR variable <1>: Auto-set. (line 107)
@@ -31540,7 +31544,7 @@ Index
* format time string: Time Functions. (line 48)
* formats, numeric output: OFMT. (line 6)
* formatting output: Printf. (line 6)
-* formatting strings: String Functions. (line 378)
+* formatting strings: String Functions. (line 381)
* forward slash (/) to enclose regular expressions: Regexp. (line 10)
* forward slash (/), / operator: Precedence. (line 55)
* forward slash (/), /= operator <1>: Precedence. (line 95)
@@ -31669,7 +31673,7 @@ Index
* gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42)
* gawk, IGNORECASE variable in <1>: Array Sorting Functions.
(line 83)
-* gawk, IGNORECASE variable in <2>: String Functions. (line 48)
+* gawk, IGNORECASE variable in <2>: String Functions. (line 58)
* gawk, IGNORECASE variable in <3>: Array Intro. (line 92)
* gawk, IGNORECASE variable in <4>: User-modified. (line 76)
* gawk, IGNORECASE variable in: Case-sensitivity. (line 26)
@@ -31723,7 +31727,7 @@ Index
* General Public License (GPL): Glossary. (line 306)
* General Public License, See GPL: Manual History. (line 11)
* generate time values: Time Functions. (line 25)
-* gensub <1>: String Functions. (line 82)
+* gensub <1>: String Functions. (line 89)
* gensub: Using Constant Regexps.
(line 43)
* gensub() function (gawk), escape processing: Gory Details. (line 6)
@@ -31799,7 +31803,7 @@ Index
* group file: Group Functions. (line 6)
* group ID of gawk user: Auto-set. (line 180)
* groups, information about: Group Functions. (line 6)
-* gsub <1>: String Functions. (line 135)
+* gsub <1>: String Functions. (line 139)
* gsub: Using Constant Regexps.
(line 43)
* gsub() function, arguments of: String Functions. (line 460)
@@ -31863,7 +31867,7 @@ Index
(line 37)
* in operator, use in loops: Scanning an Array. (line 17)
* increment operators: Increment Ops. (line 6)
-* index: String Functions. (line 151)
+* index: String Functions. (line 155)
* indexing arrays: Array Intro. (line 50)
* indirect function calls: Indirect Calls. (line 6)
* infinite precision: Arbitrary Precision Arithmetic.
@@ -31881,7 +31885,7 @@ Index
* input files, running awk without: Read Terminal. (line 6)
* input files, variable assignments and: Other Arguments. (line 19)
* input pipeline: Getline/Pipe. (line 9)
-* input record, length of: String Functions. (line 171)
+* input record, length of: String Functions. (line 174)
* input redirection: Getline/File. (line 6)
* input, data, nondecimal: Nondecimal Data. (line 6)
* input, explicit: Getline. (line 6)
@@ -31906,7 +31910,7 @@ Index
* integers, arbitrary precision: Arbitrary Precision Integers.
(line 6)
* integers, unsigned: General Arithmetic. (line 15)
-* interacting with other programs: I/O Functions. (line 72)
+* interacting with other programs: I/O Functions. (line 75)
* internationalization <1>: I18N and L10N. (line 6)
* internationalization: I18N Functions. (line 6)
* internationalization, localization <1>: Internationalization.
@@ -31927,7 +31931,7 @@ Index
* interpreted programs: Basic High Level. (line 15)
* interval expressions, regexp operator: Regexp Operators. (line 117)
* inventory-shipped file: Sample Data Files. (line 32)
-* invoke shell command: I/O Functions. (line 72)
+* invoke shell command: I/O Functions. (line 75)
* isarray: Type Functions. (line 11)
* ISO: Glossary. (line 368)
* ISO 8859-1: Glossary. (line 133)
@@ -31985,9 +31989,9 @@ Index
* left shift: Bitwise Functions. (line 46)
* left shift, bitwise: Bitwise Functions. (line 32)
* leftmost longest match: Multiple Line. (line 26)
-* length: String Functions. (line 164)
-* length of input record: String Functions. (line 171)
-* length of string: String Functions. (line 164)
+* length: String Functions. (line 167)
+* length of input record: String Functions. (line 174)
+* length of string: String Functions. (line 167)
* Lesser General Public License (LGPL): Glossary. (line 397)
* LGPL (Lesser General Public License): Glossary. (line 397)
* libmawk: Other Versions. (line 120)
@@ -32079,10 +32083,10 @@ Index
(line 6)
* marked strings, extracting: String Extraction. (line 6)
* Marx, Groucho: Increment Ops. (line 60)
-* match: String Functions. (line 204)
-* match regexp in string: String Functions. (line 204)
+* match: String Functions. (line 207)
+* match regexp in string: String Functions. (line 207)
* match() function, RSTART/RLENGTH variables: String Functions.
- (line 221)
+ (line 224)
* matching, expressions, See comparison expressions: Typing and Comparison.
(line 9)
* matching, leftmost longest: Multiple Line. (line 26)
@@ -32182,7 +32186,7 @@ Index
* null strings, converting numbers to strings: Conversion. (line 21)
* null strings, matching: Gory Details. (line 164)
* number as string of bits: Bitwise Functions. (line 109)
-* number of array elements: String Functions. (line 194)
+* number of array elements: String Functions. (line 197)
* number sign (#), #! (executable scripts): Executable Scripts.
(line 6)
* number sign (#), commenting: Comments. (line 6)
@@ -32271,7 +32275,7 @@ Index
(line 20)
* output redirection: Redirection. (line 6)
* output wrapper: Output Wrappers. (line 6)
-* output, buffering: I/O Functions. (line 29)
+* output, buffering: I/O Functions. (line 32)
* output, duplicating into files: Tee Program. (line 6)
* output, files, closing: Close Files And Pipes.
(line 6)
@@ -32288,7 +32292,7 @@ Index
* parentheses (), in a profile: Profiling. (line 146)
* parentheses (), regexp operator: Regexp Operators. (line 80)
* password file: Passwd Functions. (line 16)
-* patsplit: String Functions. (line 291)
+* patsplit: String Functions. (line 294)
* patterns: Patterns and Actions.
(line 6)
* patterns, comparison expressions as: Expression Patterns. (line 14)
@@ -32344,7 +32348,7 @@ Index
* portability, gawk: New Ports. (line 6)
* portability, gettext library and: Explaining gettext. (line 10)
* portability, internationalization and: I18N Portability. (line 6)
-* portability, length() function: String Functions. (line 173)
+* portability, length() function: String Functions. (line 176)
* portability, new awk vs. old awk: Conversion. (line 55)
* portability, next statement in user-defined functions: Pass By Value/Reference.
(line 91)
@@ -32382,14 +32386,14 @@ Index
* POSIX awk, changes in awk versions: POSIX. (line 6)
* POSIX awk, continue statement and: Continue Statement. (line 43)
* POSIX awk, CONVFMT variable and: User-modified. (line 30)
-* POSIX awk, date utility and: Time Functions. (line 263)
+* POSIX awk, date utility and: Time Functions. (line 254)
* POSIX awk, field separators and <1>: Field Splitting Summary.
(line 40)
* POSIX awk, field separators and: Fields. (line 6)
* POSIX awk, FS variable and: User-modified. (line 60)
* POSIX awk, function keyword in: Definition Syntax. (line 83)
* POSIX awk, functions and, gsub()/sub(): Gory Details. (line 54)
-* POSIX awk, functions and, length(): String Functions. (line 173)
+* POSIX awk, functions and, length(): String Functions. (line 176)
* POSIX awk, GNU long options and: Options. (line 15)
* POSIX awk, interval expressions in: Regexp Operators. (line 136)
* POSIX awk, next/nextfile statements and: Next Statement. (line 45)
@@ -32627,7 +32631,7 @@ Index
* right shift, bitwise: Bitwise Functions. (line 32)
* Ritchie, Dennis: Basic Data Typing. (line 55)
* RLENGTH variable: Auto-set. (line 252)
-* RLENGTH variable, match() function and: String Functions. (line 221)
+* RLENGTH variable, match() function and: String Functions. (line 224)
* Robbins, Arnold <1>: Future Extensions. (line 6)
* Robbins, Arnold <2>: Bugs. (line 32)
* Robbins, Arnold <3>: Contributors. (line 139)
@@ -32656,7 +32660,7 @@ Index
* RS variable, multiline records and: Multiple Line. (line 17)
* rshift: Bitwise Functions. (line 52)
* RSTART variable: Auto-set. (line 258)
-* RSTART variable, match() function and: String Functions. (line 221)
+* RSTART variable, match() function and: String Functions. (line 224)
* RT variable <1>: Auto-set. (line 265)
* RT variable <2>: Multiple Line. (line 129)
* RT variable: awk split records. (line 124)
@@ -32681,8 +32685,8 @@ Index
* Schorr, Andrew: Acknowledgments. (line 60)
* Schreiber, Bert: Acknowledgments. (line 38)
* Schreiber, Rita: Acknowledgments. (line 38)
-* search and replace in strings: String Functions. (line 82)
-* search in string: String Functions. (line 151)
+* search and replace in strings: String Functions. (line 89)
+* search in string: String Functions. (line 155)
* search paths <1>: VMS Running. (line 58)
* search paths <2>: PC Using. (line 10)
* search paths: Igawk Program. (line 368)
@@ -32767,13 +32771,13 @@ Index
(line 38)
* sidebar, Changing NR and FNR: Auto-set. (line 307)
* sidebar, Controlling Output Buffering with system(): I/O Functions.
- (line 135)
+ (line 138)
* sidebar, Escape Sequences for Metacharacters: Escape Sequences.
(line 128)
* sidebar, FS and IGNORECASE: Field Splitting Summary.
(line 64)
* sidebar, Interactive Versus Noninteractive Buffering: I/O Functions.
- (line 104)
+ (line 107)
* sidebar, Matching the Null String: Gory Details. (line 162)
* sidebar, Operator Evaluation Order: Increment Ops. (line 58)
* sidebar, Piping into sh: Redirection. (line 140)
@@ -32817,8 +32821,8 @@ Index
* sleep() extension function: Extension Sample Time.
(line 23)
* Solaris, POSIX-compliant awk: Other Versions. (line 96)
-* sort array: String Functions. (line 32)
-* sort array indices: String Functions. (line 32)
+* sort array: String Functions. (line 42)
+* sort array indices: String Functions. (line 42)
* sort function, arrays, sorting: Array Sorting Functions.
(line 6)
* sort utility: Word Sorting. (line 50)
@@ -32843,11 +32847,11 @@ Index
* sparse arrays: Array Intro. (line 71)
* Spencer, Henry: Glossary. (line 12)
* split: String Functions. (line 313)
-* split string into array: String Functions. (line 291)
+* split string into array: String Functions. (line 294)
* split utility: Split Program. (line 6)
* split() function, array elements, deleting: Delete. (line 61)
* split.awk program: Split Program. (line 30)
-* sprintf <1>: String Functions. (line 378)
+* sprintf <1>: String Functions. (line 381)
* sprintf: OFMT. (line 15)
* sprintf() function, OFMT variable and: User-modified. (line 114)
* sprintf() function, print/printf statements and: Round Function.
@@ -32885,9 +32889,9 @@ Index
* string constants, vs. regexp constants: Computed Regexps. (line 39)
* string extraction (internationalization): String Extraction.
(line 6)
-* string length: String Functions. (line 164)
+* string length: String Functions. (line 167)
* string operators: Concatenation. (line 8)
-* string, regular expression match: String Functions. (line 204)
+* string, regular expression match: String Functions. (line 207)
* string-manipulation functions: String Functions. (line 6)
* string-matching operators: Regexp Usage. (line 19)
* string-translation functions: I18N Functions. (line 6)
@@ -32904,7 +32908,7 @@ Index
* strings, null: Regexp Field Splitting.
(line 43)
* strings, numeric: Variable Typing. (line 6)
-* strtonum: String Functions. (line 385)
+* strtonum: String Functions. (line 388)
* strtonum() function (gawk), --non-decimal-data option and: Nondecimal Data.
(line 36)
* sub <1>: String Functions. (line 406)
@@ -32923,7 +32927,7 @@ Index
* SUBSEP variable: User-modified. (line 146)
* SUBSEP variable, and multidimensional arrays: Multidimensional.
(line 16)
-* substitute in string: String Functions. (line 82)
+* substitute in string: String Functions. (line 89)
* substr: String Functions. (line 479)
* substring: String Functions. (line 479)
* Sumner, Andrew: Other Versions. (line 64)
@@ -32932,7 +32936,7 @@ Index
* SYMTAB array: Auto-set. (line 269)
* syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops.
(line 148)
-* system: I/O Functions. (line 72)
+* system: I/O Functions. (line 75)
* systime: Time Functions. (line 66)
* t debugger command (alias for tbreak): Breakpoint Control. (line 90)
* tbreak debugger command: Breakpoint Control. (line 90)
@@ -33002,7 +33006,7 @@ Index
(line 23)
* troubleshooting, fatal errors, printf format strings: Format Modifiers.
(line 159)
-* troubleshooting, fflush() function: I/O Functions. (line 60)
+* troubleshooting, fflush() function: I/O Functions. (line 63)
* troubleshooting, function call syntax: Function Calls. (line 30)
* troubleshooting, gawk: Compatibility Mode. (line 6)
* troubleshooting, gawk, bug reports: Bugs. (line 9)
@@ -33010,8 +33014,7 @@ Index
(line 16)
* troubleshooting, getline function: File Checking. (line 25)
* troubleshooting, gsub()/sub() functions: String Functions. (line 470)
-* troubleshooting, match() function: String Functions. (line 286)
-* troubleshooting, patsplit() function: String Functions. (line 309)
+* troubleshooting, match() function: String Functions. (line 289)
* troubleshooting, print statement, omitting commas: Print Examples.
(line 31)
* troubleshooting, printing: Redirection. (line 118)
@@ -33021,7 +33024,7 @@ Index
(line 39)
* troubleshooting, string concatenation: Concatenation. (line 26)
* troubleshooting, substr() function: String Functions. (line 497)
-* troubleshooting, system() function: I/O Functions. (line 94)
+* troubleshooting, system() function: I/O Functions. (line 97)
* troubleshooting, typographical errors, global variables: Options.
(line 98)
* true, logical: Truth Values. (line 6)
@@ -33362,370 +33365,370 @@ Node: Conditional Exp350997
Node: Function Calls352724
Node: Precedence356482
Node: Locales360151
-Node: Patterns and Actions361240
-Node: Pattern Overview362294
-Node: Regexp Patterns363971
-Node: Expression Patterns364514
-Node: Ranges368295
-Node: BEGIN/END371401
-Node: Using BEGIN/END372163
-Ref: Using BEGIN/END-Footnote-1374899
-Node: I/O And BEGIN/END375005
-Node: BEGINFILE/ENDFILE377290
-Node: Empty380226
-Node: Using Shell Variables380543
-Node: Action Overview382826
-Node: Statements385171
-Node: If Statement387025
-Node: While Statement388524
-Node: Do Statement390568
-Node: For Statement391724
-Node: Switch Statement394876
-Node: Break Statement396979
-Node: Continue Statement399034
-Node: Next Statement400827
-Node: Nextfile Statement403217
-Node: Exit Statement405872
-Node: Built-in Variables408274
-Node: User-modified409370
-Ref: User-modified-Footnote-1417055
-Node: Auto-set417117
-Ref: Auto-set-Footnote-1430019
-Ref: Auto-set-Footnote-2430224
-Node: ARGC and ARGV430280
-Node: Arrays434134
-Node: Array Basics435632
-Node: Array Intro436458
-Ref: figure-array-elements438431
-Node: Reference to Elements440838
-Node: Assigning Elements443111
-Node: Array Example443602
-Node: Scanning an Array445334
-Node: Controlling Scanning448349
-Ref: Controlling Scanning-Footnote-1453522
-Node: Delete453838
-Ref: Delete-Footnote-1456603
-Node: Numeric Array Subscripts456660
-Node: Uninitialized Subscripts458843
-Node: Multidimensional460468
-Node: Multiscanning463561
-Node: Arrays of Arrays465150
-Node: Functions469790
-Node: Built-in470609
-Node: Calling Built-in471687
-Node: Numeric Functions473675
-Ref: Numeric Functions-Footnote-1477509
-Ref: Numeric Functions-Footnote-2477866
-Ref: Numeric Functions-Footnote-3477914
-Node: String Functions478183
-Ref: String Functions-Footnote-1501186
-Ref: String Functions-Footnote-2501315
-Ref: String Functions-Footnote-3501563
-Node: Gory Details501650
-Ref: table-sub-escapes503329
-Ref: table-sub-posix-92504683
-Ref: table-sub-proposed506034
-Ref: table-posix-sub507388
-Ref: table-gensub-escapes508933
-Ref: Gory Details-Footnote-1510109
-Ref: Gory Details-Footnote-2510160
-Node: I/O Functions510311
-Ref: I/O Functions-Footnote-1517307
-Node: Time Functions517454
-Ref: Time Functions-Footnote-1528447
-Ref: Time Functions-Footnote-2528515
-Ref: Time Functions-Footnote-3528673
-Ref: Time Functions-Footnote-4528784
-Ref: Time Functions-Footnote-5528896
-Ref: Time Functions-Footnote-6529123
-Node: Bitwise Functions529389
-Ref: table-bitwise-ops529951
-Ref: Bitwise Functions-Footnote-1534196
-Node: Type Functions534380
-Node: I18N Functions535531
-Node: User-defined537183
-Node: Definition Syntax537987
-Ref: Definition Syntax-Footnote-1542901
-Node: Function Example542970
-Ref: Function Example-Footnote-1545619
-Node: Function Caveats545641
-Node: Calling A Function546159
-Node: Variable Scope547114
-Node: Pass By Value/Reference550077
-Node: Return Statement553585
-Node: Dynamic Typing556566
-Node: Indirect Calls557497
-Node: Library Functions567184
-Ref: Library Functions-Footnote-1570697
-Ref: Library Functions-Footnote-2570840
-Node: Library Names571011
-Ref: Library Names-Footnote-1574484
-Ref: Library Names-Footnote-2574704
-Node: General Functions574790
-Node: Strtonum Function575818
-Node: Assert Function578748
-Node: Round Function582074
-Node: Cliff Random Function583615
-Node: Ordinal Functions584631
-Ref: Ordinal Functions-Footnote-1587708
-Ref: Ordinal Functions-Footnote-2587960
-Node: Join Function588171
-Ref: Join Function-Footnote-1589942
-Node: Getlocaltime Function590142
-Node: Readfile Function593883
-Node: Data File Management595722
-Node: Filetrans Function596354
-Node: Rewind Function600423
-Node: File Checking601810
-Node: Empty Files602904
-Node: Ignoring Assigns605134
-Node: Getopt Function606688
-Ref: Getopt Function-Footnote-1617991
-Node: Passwd Functions618194
-Ref: Passwd Functions-Footnote-1627172
-Node: Group Functions627260
-Node: Walking Arrays635344
-Node: Sample Programs637480
-Node: Running Examples638154
-Node: Clones638882
-Node: Cut Program640106
-Node: Egrep Program649957
-Ref: Egrep Program-Footnote-1657730
-Node: Id Program657840
-Node: Split Program661489
-Ref: Split Program-Footnote-1665008
-Node: Tee Program665136
-Node: Uniq Program667939
-Node: Wc Program675368
-Ref: Wc Program-Footnote-1679634
-Ref: Wc Program-Footnote-2679834
-Node: Miscellaneous Programs679926
-Node: Dupword Program681114
-Node: Alarm Program683145
-Node: Translate Program687952
-Ref: Translate Program-Footnote-1692339
-Ref: Translate Program-Footnote-2692587
-Node: Labels Program692721
-Ref: Labels Program-Footnote-1696092
-Node: Word Sorting696176
-Node: History Sorting700060
-Node: Extract Program701899
-Ref: Extract Program-Footnote-1709402
-Node: Simple Sed709530
-Node: Igawk Program712592
-Ref: Igawk Program-Footnote-1727763
-Ref: Igawk Program-Footnote-2727964
-Node: Anagram Program728102
-Node: Signature Program731170
-Node: Advanced Features732270
-Node: Nondecimal Data734156
-Node: Array Sorting735739
-Node: Controlling Array Traversal736436
-Node: Array Sorting Functions744720
-Ref: Array Sorting Functions-Footnote-1748589
-Node: Two-way I/O748783
-Ref: Two-way I/O-Footnote-1754215
-Node: TCP/IP Networking754297
-Node: Profiling757141
-Node: Internationalization764644
-Node: I18N and L10N766069
-Node: Explaining gettext766755
-Ref: Explaining gettext-Footnote-1771823
-Ref: Explaining gettext-Footnote-2772007
-Node: Programmer i18n772172
-Node: Translator i18n776399
-Node: String Extraction777193
-Ref: String Extraction-Footnote-1778154
-Node: Printf Ordering778240
-Ref: Printf Ordering-Footnote-1781022
-Node: I18N Portability781086
-Ref: I18N Portability-Footnote-1783535
-Node: I18N Example783598
-Ref: I18N Example-Footnote-1786236
-Node: Gawk I18N786308
-Node: Debugger786929
-Node: Debugging787900
-Node: Debugging Concepts788333
-Node: Debugging Terms790189
-Node: Awk Debugging792786
-Node: Sample Debugging Session793678
-Node: Debugger Invocation794198
-Node: Finding The Bug795531
-Node: List of Debugger Commands802018
-Node: Breakpoint Control803352
-Node: Debugger Execution Control807016
-Node: Viewing And Changing Data810376
-Node: Execution Stack813732
-Node: Debugger Info815199
-Node: Miscellaneous Debugger Commands819193
-Node: Readline Support824371
-Node: Limitations825202
-Node: Arbitrary Precision Arithmetic827454
-Ref: Arbitrary Precision Arithmetic-Footnote-1829103
-Node: General Arithmetic829251
-Node: Floating Point Issues830971
-Node: String Conversion Precision831852
-Ref: String Conversion Precision-Footnote-1833557
-Node: Unexpected Results833666
-Node: POSIX Floating Point Problems835819
-Ref: POSIX Floating Point Problems-Footnote-1839644
-Node: Integer Programming839682
-Node: Floating-point Programming841421
-Ref: Floating-point Programming-Footnote-1847752
-Ref: Floating-point Programming-Footnote-2848022
-Node: Floating-point Representation848286
-Node: Floating-point Context849451
-Ref: table-ieee-formats850290
-Node: Rounding Mode851674
-Ref: table-rounding-modes852153
-Ref: Rounding Mode-Footnote-1855168
-Node: Gawk and MPFR855347
-Node: Arbitrary Precision Floats856756
-Ref: Arbitrary Precision Floats-Footnote-1859199
-Node: Setting Precision859515
-Ref: table-predefined-precision-strings860201
-Node: Setting Rounding Mode862346
-Ref: table-gawk-rounding-modes862750
-Node: Floating-point Constants863937
-Node: Changing Precision865366
-Ref: Changing Precision-Footnote-1866763
-Node: Exact Arithmetic866937
-Node: Arbitrary Precision Integers870075
-Ref: Arbitrary Precision Integers-Footnote-1873090
-Node: Dynamic Extensions873237
-Node: Extension Intro874695
-Node: Plugin License875960
-Node: Extension Mechanism Outline876645
-Ref: load-extension877062
-Ref: load-new-function878540
-Ref: call-new-function879535
-Node: Extension API Description881550
-Node: Extension API Functions Introduction882837
-Node: General Data Types887764
-Ref: General Data Types-Footnote-1893459
-Node: Requesting Values893758
-Ref: table-value-types-returned894495
-Node: Memory Allocation Functions895449
-Ref: Memory Allocation Functions-Footnote-1898195
-Node: Constructor Functions898291
-Node: Registration Functions900049
-Node: Extension Functions900734
-Node: Exit Callback Functions903036
-Node: Extension Version String904285
-Node: Input Parsers904935
-Node: Output Wrappers914692
-Node: Two-way processors919202
-Node: Printing Messages921410
-Ref: Printing Messages-Footnote-1922487
-Node: Updating `ERRNO'922639
-Node: Accessing Parameters923378
-Node: Symbol Table Access924608
-Node: Symbol table by name925122
-Node: Symbol table by cookie927098
-Ref: Symbol table by cookie-Footnote-1931230
-Node: Cached values931293
-Ref: Cached values-Footnote-1934783
-Node: Array Manipulation934874
-Ref: Array Manipulation-Footnote-1935972
-Node: Array Data Types936011
-Ref: Array Data Types-Footnote-1938714
-Node: Array Functions938806
-Node: Flattening Arrays942642
-Node: Creating Arrays949494
-Node: Extension API Variables954219
-Node: Extension Versioning954855
-Node: Extension API Informational Variables956756
-Node: Extension API Boilerplate957842
-Node: Finding Extensions961646
-Node: Extension Example962206
-Node: Internal File Description962936
-Node: Internal File Ops967027
-Ref: Internal File Ops-Footnote-1978536
-Node: Using Internal File Ops978676
-Ref: Using Internal File Ops-Footnote-1981023
-Node: Extension Samples981289
-Node: Extension Sample File Functions982813
-Node: Extension Sample Fnmatch991300
-Node: Extension Sample Fork993069
-Node: Extension Sample Inplace994282
-Node: Extension Sample Ord996060
-Node: Extension Sample Readdir996896
-Node: Extension Sample Revout998428
-Node: Extension Sample Rev2way999021
-Node: Extension Sample Read write array999711
-Node: Extension Sample Readfile1001594
-Node: Extension Sample API Tests1002694
-Node: Extension Sample Time1003219
-Node: gawkextlib1004583
-Node: Language History1007364
-Node: V7/SVR3.11008957
-Node: SVR41011277
-Node: POSIX1012719
-Node: BTL1014105
-Node: POSIX/GNU1014839
-Node: Feature History1020438
-Node: Common Extensions1033414
-Node: Ranges and Locales1034726
-Ref: Ranges and Locales-Footnote-11039343
-Ref: Ranges and Locales-Footnote-21039370
-Ref: Ranges and Locales-Footnote-31039604
-Node: Contributors1039825
-Node: Installation1045206
-Node: Gawk Distribution1046100
-Node: Getting1046584
-Node: Extracting1047410
-Node: Distribution contents1049102
-Node: Unix Installation1054823
-Node: Quick Installation1055440
-Node: Additional Configuration Options1057886
-Node: Configuration Philosophy1059622
-Node: Non-Unix Installation1061976
-Node: PC Installation1062434
-Node: PC Binary Installation1063733
-Node: PC Compiling1065581
-Node: PC Testing1068525
-Node: PC Using1069701
-Node: Cygwin1073869
-Node: MSYS1074678
-Node: VMS Installation1075192
-Node: VMS Compilation1075988
-Ref: VMS Compilation-Footnote-11077240
-Node: VMS Dynamic Extensions1077298
-Node: VMS Installation Details1078671
-Node: VMS Running1080922
-Node: VMS GNV1083756
-Node: VMS Old Gawk1084479
-Node: Bugs1084949
-Node: Other Versions1088867
-Node: Notes1094951
-Node: Compatibility Mode1095751
-Node: Additions1096534
-Node: Accessing The Source1097461
-Node: Adding Code1098901
-Node: New Ports1104946
-Node: Derived Files1109081
-Ref: Derived Files-Footnote-11114402
-Ref: Derived Files-Footnote-21114436
-Ref: Derived Files-Footnote-31115036
-Node: Future Extensions1115134
-Node: Implementation Limitations1115717
-Node: Extension Design1116965
-Node: Old Extension Problems1118119
-Ref: Old Extension Problems-Footnote-11119627
-Node: Extension New Mechanism Goals1119684
-Ref: Extension New Mechanism Goals-Footnote-11123049
-Node: Extension Other Design Decisions1123235
-Node: Extension Future Growth1125341
-Node: Old Extension Mechanism1126177
-Node: Basic Concepts1127917
-Node: Basic High Level1128598
-Ref: figure-general-flow1128870
-Ref: figure-process-flow1129469
-Ref: Basic High Level-Footnote-11132698
-Node: Basic Data Typing1132883
-Node: Glossary1136238
-Node: Copying1161469
-Node: GNU Free Documentation License1199025
-Node: Index1224161
+Node: Patterns and Actions361754
+Node: Pattern Overview362808
+Node: Regexp Patterns364485
+Node: Expression Patterns365028
+Node: Ranges368809
+Node: BEGIN/END371915
+Node: Using BEGIN/END372677
+Ref: Using BEGIN/END-Footnote-1375413
+Node: I/O And BEGIN/END375519
+Node: BEGINFILE/ENDFILE377804
+Node: Empty380740
+Node: Using Shell Variables381057
+Node: Action Overview383340
+Node: Statements385685
+Node: If Statement387539
+Node: While Statement389038
+Node: Do Statement391082
+Node: For Statement392238
+Node: Switch Statement395390
+Node: Break Statement397493
+Node: Continue Statement399548
+Node: Next Statement401341
+Node: Nextfile Statement403731
+Node: Exit Statement406386
+Node: Built-in Variables408788
+Node: User-modified409884
+Ref: User-modified-Footnote-1417569
+Node: Auto-set417631
+Ref: Auto-set-Footnote-1430533
+Ref: Auto-set-Footnote-2430738
+Node: ARGC and ARGV430794
+Node: Arrays434648
+Node: Array Basics436146
+Node: Array Intro436972
+Ref: figure-array-elements438945
+Node: Reference to Elements441352
+Node: Assigning Elements443625
+Node: Array Example444116
+Node: Scanning an Array445848
+Node: Controlling Scanning448863
+Ref: Controlling Scanning-Footnote-1454036
+Node: Delete454352
+Ref: Delete-Footnote-1457117
+Node: Numeric Array Subscripts457174
+Node: Uninitialized Subscripts459357
+Node: Multidimensional460982
+Node: Multiscanning464075
+Node: Arrays of Arrays465664
+Node: Functions470304
+Node: Built-in471123
+Node: Calling Built-in472201
+Node: Numeric Functions474189
+Ref: Numeric Functions-Footnote-1478023
+Ref: Numeric Functions-Footnote-2478380
+Ref: Numeric Functions-Footnote-3478428
+Node: String Functions478697
+Ref: String Functions-Footnote-1501708
+Ref: String Functions-Footnote-2501837
+Ref: String Functions-Footnote-3502085
+Node: Gory Details502172
+Ref: table-sub-escapes503841
+Ref: table-sub-posix-92505195
+Ref: table-sub-proposed506546
+Ref: table-posix-sub507900
+Ref: table-gensub-escapes509445
+Ref: Gory Details-Footnote-1510621
+Ref: Gory Details-Footnote-2510672
+Node: I/O Functions510823
+Ref: I/O Functions-Footnote-1517946
+Node: Time Functions518093
+Ref: Time Functions-Footnote-1528557
+Ref: Time Functions-Footnote-2528625
+Ref: Time Functions-Footnote-3528783
+Ref: Time Functions-Footnote-4528894
+Ref: Time Functions-Footnote-5529006
+Ref: Time Functions-Footnote-6529233
+Node: Bitwise Functions529499
+Ref: table-bitwise-ops530061
+Ref: Bitwise Functions-Footnote-1534306
+Node: Type Functions534490
+Node: I18N Functions535632
+Node: User-defined537277
+Node: Definition Syntax538081
+Ref: Definition Syntax-Footnote-1542996
+Node: Function Example543065
+Ref: Function Example-Footnote-1545709
+Node: Function Caveats545731
+Node: Calling A Function546249
+Node: Variable Scope547204
+Node: Pass By Value/Reference550192
+Node: Return Statement553700
+Node: Dynamic Typing556682
+Node: Indirect Calls557611
+Node: Library Functions567298
+Ref: Library Functions-Footnote-1570811
+Ref: Library Functions-Footnote-2570954
+Node: Library Names571125
+Ref: Library Names-Footnote-1574598
+Ref: Library Names-Footnote-2574818
+Node: General Functions574904
+Node: Strtonum Function575932
+Node: Assert Function578862
+Node: Round Function582188
+Node: Cliff Random Function583729
+Node: Ordinal Functions584745
+Ref: Ordinal Functions-Footnote-1587822
+Ref: Ordinal Functions-Footnote-2588074
+Node: Join Function588285
+Ref: Join Function-Footnote-1590056
+Node: Getlocaltime Function590256
+Node: Readfile Function593997
+Node: Data File Management595836
+Node: Filetrans Function596468
+Node: Rewind Function600537
+Node: File Checking601924
+Node: Empty Files603018
+Node: Ignoring Assigns605248
+Node: Getopt Function606802
+Ref: Getopt Function-Footnote-1618105
+Node: Passwd Functions618308
+Ref: Passwd Functions-Footnote-1627286
+Node: Group Functions627374
+Node: Walking Arrays635458
+Node: Sample Programs637594
+Node: Running Examples638268
+Node: Clones638996
+Node: Cut Program640220
+Node: Egrep Program650071
+Ref: Egrep Program-Footnote-1657844
+Node: Id Program657954
+Node: Split Program661603
+Ref: Split Program-Footnote-1665122
+Node: Tee Program665250
+Node: Uniq Program668053
+Node: Wc Program675482
+Ref: Wc Program-Footnote-1679748
+Ref: Wc Program-Footnote-2679948
+Node: Miscellaneous Programs680040
+Node: Dupword Program681228
+Node: Alarm Program683259
+Node: Translate Program688066
+Ref: Translate Program-Footnote-1692453
+Ref: Translate Program-Footnote-2692701
+Node: Labels Program692835
+Ref: Labels Program-Footnote-1696206
+Node: Word Sorting696290
+Node: History Sorting700174
+Node: Extract Program702013
+Ref: Extract Program-Footnote-1709516
+Node: Simple Sed709644
+Node: Igawk Program712706
+Ref: Igawk Program-Footnote-1727877
+Ref: Igawk Program-Footnote-2728078
+Node: Anagram Program728216
+Node: Signature Program731284
+Node: Advanced Features732384
+Node: Nondecimal Data734270
+Node: Array Sorting735853
+Node: Controlling Array Traversal736550
+Node: Array Sorting Functions744834
+Ref: Array Sorting Functions-Footnote-1748703
+Node: Two-way I/O748897
+Ref: Two-way I/O-Footnote-1754329
+Node: TCP/IP Networking754411
+Node: Profiling757255
+Node: Internationalization764758
+Node: I18N and L10N766183
+Node: Explaining gettext766869
+Ref: Explaining gettext-Footnote-1771937
+Ref: Explaining gettext-Footnote-2772121
+Node: Programmer i18n772286
+Node: Translator i18n776513
+Node: String Extraction777307
+Ref: String Extraction-Footnote-1778268
+Node: Printf Ordering778354
+Ref: Printf Ordering-Footnote-1781136
+Node: I18N Portability781200
+Ref: I18N Portability-Footnote-1783649
+Node: I18N Example783712
+Ref: I18N Example-Footnote-1786350
+Node: Gawk I18N786422
+Node: Debugger787043
+Node: Debugging788014
+Node: Debugging Concepts788447
+Node: Debugging Terms790303
+Node: Awk Debugging792900
+Node: Sample Debugging Session793792
+Node: Debugger Invocation794312
+Node: Finding The Bug795645
+Node: List of Debugger Commands802132
+Node: Breakpoint Control803466
+Node: Debugger Execution Control807130
+Node: Viewing And Changing Data810490
+Node: Execution Stack813846
+Node: Debugger Info815313
+Node: Miscellaneous Debugger Commands819307
+Node: Readline Support824485
+Node: Limitations825316
+Node: Arbitrary Precision Arithmetic827568
+Ref: Arbitrary Precision Arithmetic-Footnote-1829217
+Node: General Arithmetic829365
+Node: Floating Point Issues831085
+Node: String Conversion Precision831966
+Ref: String Conversion Precision-Footnote-1833671
+Node: Unexpected Results833780
+Node: POSIX Floating Point Problems835933
+Ref: POSIX Floating Point Problems-Footnote-1839758
+Node: Integer Programming839796
+Node: Floating-point Programming841535
+Ref: Floating-point Programming-Footnote-1847866
+Ref: Floating-point Programming-Footnote-2848136
+Node: Floating-point Representation848400
+Node: Floating-point Context849565
+Ref: table-ieee-formats850404
+Node: Rounding Mode851788
+Ref: table-rounding-modes852267
+Ref: Rounding Mode-Footnote-1855282
+Node: Gawk and MPFR855461
+Node: Arbitrary Precision Floats856870
+Ref: Arbitrary Precision Floats-Footnote-1859313
+Node: Setting Precision859629
+Ref: table-predefined-precision-strings860315
+Node: Setting Rounding Mode862460
+Ref: table-gawk-rounding-modes862864
+Node: Floating-point Constants864051
+Node: Changing Precision865480
+Ref: Changing Precision-Footnote-1866877
+Node: Exact Arithmetic867051
+Node: Arbitrary Precision Integers870189
+Ref: Arbitrary Precision Integers-Footnote-1873204
+Node: Dynamic Extensions873351
+Node: Extension Intro874809
+Node: Plugin License876074
+Node: Extension Mechanism Outline876759
+Ref: load-extension877176
+Ref: load-new-function878654
+Ref: call-new-function879649
+Node: Extension API Description881664
+Node: Extension API Functions Introduction882951
+Node: General Data Types887878
+Ref: General Data Types-Footnote-1893573
+Node: Requesting Values893872
+Ref: table-value-types-returned894609
+Node: Memory Allocation Functions895563
+Ref: Memory Allocation Functions-Footnote-1898309
+Node: Constructor Functions898405
+Node: Registration Functions900163
+Node: Extension Functions900848
+Node: Exit Callback Functions903150
+Node: Extension Version String904399
+Node: Input Parsers905049
+Node: Output Wrappers914806
+Node: Two-way processors919316
+Node: Printing Messages921524
+Ref: Printing Messages-Footnote-1922601
+Node: Updating `ERRNO'922753
+Node: Accessing Parameters923492
+Node: Symbol Table Access924722
+Node: Symbol table by name925236
+Node: Symbol table by cookie927212
+Ref: Symbol table by cookie-Footnote-1931344
+Node: Cached values931407
+Ref: Cached values-Footnote-1934897
+Node: Array Manipulation934988
+Ref: Array Manipulation-Footnote-1936086
+Node: Array Data Types936125
+Ref: Array Data Types-Footnote-1938828
+Node: Array Functions938920
+Node: Flattening Arrays942756
+Node: Creating Arrays949608
+Node: Extension API Variables954333
+Node: Extension Versioning954969
+Node: Extension API Informational Variables956870
+Node: Extension API Boilerplate957956
+Node: Finding Extensions961760
+Node: Extension Example962320
+Node: Internal File Description963050
+Node: Internal File Ops967141
+Ref: Internal File Ops-Footnote-1978650
+Node: Using Internal File Ops978790
+Ref: Using Internal File Ops-Footnote-1981137
+Node: Extension Samples981403
+Node: Extension Sample File Functions982927
+Node: Extension Sample Fnmatch991414
+Node: Extension Sample Fork993183
+Node: Extension Sample Inplace994396
+Node: Extension Sample Ord996174
+Node: Extension Sample Readdir997010
+Node: Extension Sample Revout998542
+Node: Extension Sample Rev2way999135
+Node: Extension Sample Read write array999825
+Node: Extension Sample Readfile1001708
+Node: Extension Sample API Tests1002808
+Node: Extension Sample Time1003333
+Node: gawkextlib1004697
+Node: Language History1007478
+Node: V7/SVR3.11009071
+Node: SVR41011391
+Node: POSIX1012833
+Node: BTL1014219
+Node: POSIX/GNU1014953
+Node: Feature History1020552
+Node: Common Extensions1033528
+Node: Ranges and Locales1034840
+Ref: Ranges and Locales-Footnote-11039457
+Ref: Ranges and Locales-Footnote-21039484
+Ref: Ranges and Locales-Footnote-31039718
+Node: Contributors1039939
+Node: Installation1045320
+Node: Gawk Distribution1046214
+Node: Getting1046698
+Node: Extracting1047524
+Node: Distribution contents1049216
+Node: Unix Installation1054937
+Node: Quick Installation1055554
+Node: Additional Configuration Options1058000
+Node: Configuration Philosophy1059736
+Node: Non-Unix Installation1062090
+Node: PC Installation1062548
+Node: PC Binary Installation1063847
+Node: PC Compiling1065695
+Node: PC Testing1068639
+Node: PC Using1069815
+Node: Cygwin1073983
+Node: MSYS1074792
+Node: VMS Installation1075306
+Node: VMS Compilation1076102
+Ref: VMS Compilation-Footnote-11077354
+Node: VMS Dynamic Extensions1077412
+Node: VMS Installation Details1078785
+Node: VMS Running1081036
+Node: VMS GNV1083870
+Node: VMS Old Gawk1084593
+Node: Bugs1085063
+Node: Other Versions1088981
+Node: Notes1095065
+Node: Compatibility Mode1095865
+Node: Additions1096648
+Node: Accessing The Source1097575
+Node: Adding Code1099015
+Node: New Ports1105060
+Node: Derived Files1109195
+Ref: Derived Files-Footnote-11114516
+Ref: Derived Files-Footnote-21114550
+Ref: Derived Files-Footnote-31115150
+Node: Future Extensions1115248
+Node: Implementation Limitations1115831
+Node: Extension Design1117079
+Node: Old Extension Problems1118233
+Ref: Old Extension Problems-Footnote-11119741
+Node: Extension New Mechanism Goals1119798
+Ref: Extension New Mechanism Goals-Footnote-11123163
+Node: Extension Other Design Decisions1123349
+Node: Extension Future Growth1125455
+Node: Old Extension Mechanism1126291
+Node: Basic Concepts1128031
+Node: Basic High Level1128712
+Ref: figure-general-flow1128984
+Ref: figure-process-flow1129583
+Ref: Basic High Level-Footnote-11132812
+Node: Basic Data Typing1132997
+Node: Glossary1136352
+Node: Copying1161583
+Node: GNU Free Documentation License1199139
+Node: Index1224275

End Tag Table