summaryrefslogtreecommitdiff
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info1285
1 files changed, 642 insertions, 643 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index 26dc45ea..1c6a74f6 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -9,7 +9,7 @@ START-INFO-DIR-ENTRY
* awk: (gawk)Invoking gawk. Text scanning and processing.
END-INFO-DIR-ENTRY
- Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2014
+ Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2015
Free Software Foundation, Inc.
@@ -37,7 +37,7 @@ General Introduction
This file documents `awk', a program that you can use to select
particular records in a file and perform operations upon them.
- Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2014
+ Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2015
Free Software Foundation, Inc.
@@ -748,10 +748,10 @@ and associative arrays. Those looking for something new can try out
The programs in this book make clear that an AWK program is
typically much smaller and faster to develop than a counterpart written
-in C. Consequently, there is often a payoff to prototype an algorithm
-or design in AWK to get it running quickly and expose problems early.
-Often, the interpreted performance is adequate and the AWK prototype
-becomes the product.
+in C. Consequently, there is often a payoff to prototyping an
+algorithm or design in AWK to get it running quickly and expose
+problems early. Often, the interpreted performance is adequate and the
+AWK prototype becomes the product.
The new `pgawk' (profiling `gawk'), produces program execution
counts. I recently experimented with an algorithm that for n lines of
@@ -775,16 +775,16 @@ Foreword to the Fourth Edition
******************************
Some things don't change. Thirteen years ago I wrote: "If you use AWK
-or want to learn how, then read this book." True then and still true
+or want to learn how, then read this book." True then, and still true
today.
- Learning to use a programming language is more than mastering the
-syntax. One needs to acquire an understanding of how to use the
+ Learning to use a programming language is about more than mastering
+the syntax. One needs to acquire an understanding of how to use the
features of the language to solve practical programming problems. A
focus of this book is many examples that show how to use AWK.
Some things do change. Our computers are much faster and have more
-memory. Consequently, speed and storage inefficiencies of a high level
+memory. Consequently, speed and storage inefficiencies of a high-level
language matter less. Prototyping in AWK and then rewriting in C for
performance reasons happens less, because more often the prototype is
fast enough.
@@ -793,9 +793,9 @@ fast enough.
C++. With `gawk' 4.1 and later, you do not have to choose between
writing your program in AWK or in C/C++. You can write most of your
program in AWK and the aspects that require C/C++ capabilities can be
-written in C/C++ and then the pieces glued together when the `gawk'
+written in C/C++, and then the pieces glued together when the `gawk'
module loads the C/C++ module as a dynamic plug-in. *note Dynamic
-Extensions::, has all the details, and as expected, many examples to
+Extensions::, has all the details, and, as expected, many examples to
help you learn the ins and outs.
I enjoy programming in AWK and had fun (re)reading this book. I
@@ -834,7 +834,7 @@ So most of the time, we don't distinguish between `gawk' and other
* Validate data
- * Produce indexes and perform other document preparation tasks
+ * Produce indexes and perform other document-preparation tasks
* Experiment with algorithms that you can adapt later to other
computer languages
@@ -926,7 +926,7 @@ advice from Richard Stallman. John Woods contributed parts of the code
as well. In 1988 and 1989, David Trueman, with help from me,
thoroughly reworked `gawk' for compatibility with the newer `awk'.
Circa 1994, I became the primary maintainer. Current development
-focuses on bug fixes, performance improvements, standards compliance
+focuses on bug fixes, performance improvements, standards compliance,
and, occasionally, new features.
In May 1997, Ju"rgen Kahrs felt the need for network access from
@@ -938,10 +938,10 @@ the `gawk' distribution). His code finally became part of the main
John Haque rewrote the `gawk' internals, in the process providing an
`awk'-level debugger. This version became available as `gawk' version
-4.0, in 2011.
+4.0 in 2011.
- *Note Contributors::, for a full list of those who made important
-contributions to `gawk'.
+ *Note Contributors::, for a full list of those who have made
+important contributions to `gawk'.

File: gawk.info, Node: Names, Next: This Manual, Prev: History, Up: Preface
@@ -954,7 +954,7 @@ provided in *note Language History::. The language described in this
Info file is often referred to as "new `awk'." By analogy, the
original version of `awk' is referred to as "old `awk'."
- Today, on most systems, when you run the `awk' utility, you get some
+ Today, on most systems, when you run the `awk' utility you get some
version of new `awk'.(1) If your system's standard `awk' is the old
one, you will see something like this if you try the test program:
@@ -1014,9 +1014,9 @@ in *note Sample Programs::, should be of interest.
This Info file is split into several parts, as follows:
- * Part I describes the `awk' language and `gawk' program in detail.
- It starts with the basics, and continues through all of the
- features of `awk'. It contains the following chapters:
+ * Part I describes the `awk' language and the `gawk' program in
+ detail. It starts with the basics, and continues through all of
+ the features of `awk'. It contains the following chapters:
- *note Getting Started::, provides the essentials you need to
know to begin using `awk'.
@@ -1047,9 +1047,10 @@ in *note Sample Programs::, should be of interest.
`gawk' use.
- *note Arrays::, covers `awk''s one-and-only data structure:
- associative arrays. Deleting array elements and whole arrays
- is also described, as well as sorting arrays in `gawk'. It
- also describes how `gawk' provides arrays of arrays.
+ the associative array. Deleting array elements and whole
+ arrays is described, as well as sorting arrays in `gawk'.
+ The major node also describes how `gawk' provides arrays of
+ arrays.
- *note Functions::, describes the built-in functions `awk' and
`gawk' provide, as well as how to define your own functions.
@@ -1057,14 +1058,13 @@ in *note Sample Programs::, should be of interest.
indirectly.
* Part II shows how to use `awk' and `gawk' for problem solving.
- There is lots of code here for you to read and learn from. It
- contains the following chapters:
+ There is lots of code here for you to read and learn from. This
+ part contains the following chapters:
- - *note Library Functions::, which provides a number of
- functions meant to be used from main `awk' programs.
+ - *note Library Functions::, provides a number of functions
+ meant to be used from main `awk' programs.
- - *note Sample Programs::, which provides many sample `awk'
- programs.
+ - *note Sample Programs::, provides many sample `awk' programs.
Reading these two chapters allows you to see `awk' solving real
problems.
@@ -1096,7 +1096,7 @@ in *note Sample Programs::, should be of interest.
It contains the following appendices:
- *note Language History::, describes how the `awk' language
- has evolved since its first release to present. It also
+ has evolved since its first release to the present. It also
describes how `gawk' has acquired features over time.
- *note Installation::, describes how to get `gawk', how to
@@ -1113,7 +1113,7 @@ in *note Sample Programs::, should be of interest.
material for those who are completely unfamiliar with
computer programming.
- The *note Glossary::, defines most, if not all of, the
+ The *note Glossary::, defines most, if not all, of the
significant terms used throughout the Info file. If you find
terms that you aren't familiar with, try looking them up here.
@@ -1142,8 +1142,8 @@ node briefly documents the typographical conventions used in Texinfo.
common shell primary and secondary prompts, `$' and `>'. Input that
you type is shown `like this'. Output from the command is preceded by
the glyph "-|". This typically represents the command's standard
-output. Error messages, and other output on the command's standard
-error, are preceded by the glyph "error-->". For example:
+output. Error messages and other output on the command's standard
+error are preceded by the glyph "error-->". For example:
$ echo hi on stdout
-| hi on stdout
@@ -1155,7 +1155,7 @@ particular, there are special characters called "control characters."
These are characters that you type by holding down both the `CONTROL'
key and another key, at the same time. For example, a `Ctrl-d' is typed
by first pressing and holding the `CONTROL' key, next pressing the `d'
-key and finally releasing both keys.
+key, and finally releasing both keys.
For the sake of brevity, throughout this Info file, we refer to
Brian Kernighan's version of `awk' as "BWK `awk'." (*Note Other
@@ -1171,7 +1171,7 @@ Dark Corners
Until the POSIX standard (and `GAWK: Effective AWK Programming'),
many features of `awk' were either poorly documented or not documented
at all. Descriptions of such features (often called "dark corners")
-are noted in this Info file with "(d.c.)". They also appear in the
+are noted in this Info file with "(d.c.)." They also appear in the
index under the heading "dark corner."
But, as noted by the opening quote, any coverage of dark corners is
@@ -1194,8 +1194,8 @@ editor. GNU Emacs is the most widely used version of Emacs today.
The GNU(1) Project is an ongoing effort on the part of the Free
Software Foundation to create a complete, freely distributable,
-POSIX-compliant computing environment. The FSF uses the "GNU General
-Public License" (GPL) to ensure that their software's source code is
+POSIX-compliant computing environment. The FSF uses the GNU General
+Public License (GPL) to ensure that its software's source code is
always available to the end user. A copy of the GPL is included for
your reference (*note Copying::). The GPL applies to the C language
source code for `gawk'. To find out more about the FSF and the GNU
@@ -1223,26 +1223,26 @@ original, "old" version of `awk'.
I started working with that version in the fall of 1988. As work on
it progressed, the FSF published several preliminary versions (numbered
-0.X). In 1996, Edition 1.0 was released with `gawk' 3.0.0. The FSF
+0.X). In 1996, edition 1.0 was released with `gawk' 3.0.0. The FSF
published the first two editions under the title `The GNU Awk User's
Guide'.
This edition maintains the basic structure of the previous editions.
For FSF edition 4.0, the content was thoroughly reviewed and updated.
All references to `gawk' versions prior to 4.0 were removed. Of
-significant note for that edition was *note Debugger::.
+significant note for that edition was the addition of *note Debugger::.
For FSF edition 4.1, the content has been reorganized into parts,
and the major new additions are *note Arbitrary Precision Arithmetic::,
and *note Dynamic Extensions::.
This Info file will undoubtedly continue to evolve. If you find an
-error in this Info file, please report it! *Note Bugs::, for
+error in the Info file, please report it! *Note Bugs::, for
information on submitting problem reports electronically.
---------- Footnotes ----------
- (1) GNU stands for "GNU's not Unix."
+ (1) GNU stands for "GNU's Not Unix."
(2) The terminology "GNU/Linux" is explained in the *note Glossary::.
@@ -1286,7 +1286,7 @@ acknowledgments:
this manual. Jay Fenlason contributed many ideas and sample
programs. Richard Mlynarik and Robert Chassell gave helpful
comments on drafts of this manual. The paper `A Supplemental
- Document for `awk'' by John W. Pierce of the Chemistry Department
+ Document for AWK' by John W. Pierce of the Chemistry Department
at UC San Diego, pinpointed several issues relevant both to `awk'
implementation and to this manual, that would otherwise have
escaped us.
@@ -1299,7 +1299,7 @@ GNU Project.
acknowledgements:
The following people (in alphabetical order) provided helpful
- comments on various versions of this book, Rick Adams, Dr. Nelson
+ comments on various versions of this book: Rick Adams, Dr. Nelson
H.F. Beebe, Karl Berry, Dr. Michael Brennan, Rich Burridge, Claire
Cloutier, Diane Close, Scott Deifik, Christopher ("Topher") Eliot,
Jeffrey Friedl, Dr. Darrel Hankerson, Michal Jaegermann, Dr.
@@ -1308,7 +1308,7 @@ acknowledgements:
Robert J. Chassell provided much valuable advice on the use of
Texinfo. He also deserves special thanks for convincing me _not_
- to title this Info file `How To Gawk Politely'. Karl Berry helped
+ to title this Info file `How to Gawk Politely'. Karl Berry helped
significantly with the TeX part of Texinfo.
I would like to thank Marshall and Elaine Hartholz of Seattle and
@@ -1348,18 +1348,18 @@ of people. *Note Contributors::, for the full list.
Thanks to Michael Brennan for the Forewords.
Thanks to Patrice Dumas for the new `makeinfo' program. Thanks to
-Karl Berry who continues to work to keep the Texinfo markup language
+Karl Berry, who continues to work to keep the Texinfo markup language
sane.
Robert P.J. Day, Michael Brennan, and Brian Kernighan kindly acted as
reviewers for the 2015 edition of this Info file. Their feedback helped
improve the final work.
- I would like to thank Brian Kernighan for invaluable assistance
-during the testing and debugging of `gawk', and for ongoing help and
-advice in clarifying numerous points about the language. We could not
-have done nearly as good a job on either `gawk' or its documentation
-without his help.
+ I would also like to thank Brian Kernighan for his invaluable
+assistance during the testing and debugging of `gawk', and for his
+ongoing help and advice in clarifying numerous points about the
+language. We could not have done nearly as good a job on either `gawk'
+or its documentation without his help.
Brian is in a class by himself as a programmer and technical author.
I have to thank him (yet again) for his ongoing friendship and for
@@ -1402,10 +1402,10 @@ contain "function definitions", an advanced feature that we will ignore
for now; *note User-defined::). Each rule specifies one pattern to
search for and one action to perform upon finding the pattern.
- Syntactically, a rule consists of a pattern followed by an action.
-The action is enclosed in braces to separate it from the pattern.
-Newlines usually separate rules. Therefore, an `awk' program looks
-like this:
+ Syntactically, a rule consists of a "pattern" followed by an
+"action". The action is enclosed in braces to separate it from the
+pattern. Newlines usually separate rules. Therefore, an `awk' program
+looks like this:
PATTERN { ACTION }
PATTERN { ACTION }
@@ -1473,7 +1473,7 @@ program as the first argument of the `awk' command, like this:
awk 'PROGRAM' INPUT-FILE1 INPUT-FILE2 ...
-where PROGRAM consists of a series of PATTERNS and ACTIONS, as
+where PROGRAM consists of a series of patterns and actions, as
described earlier.
This command format instructs the "shell", or command interpreter,
@@ -1488,8 +1488,8 @@ programs from shell scripts, because it avoids the need for a separate
file for the `awk' program. A self-contained shell script is more
reliable because there are no other files to misplace.
- Later in this chapter, *note Very Simple::, presents several short,
-self-contained programs.
+ Later in this chapter, in *note Very Simple::, we'll see examples of
+several short, self-contained programs.

File: gawk.info, Node: Read Terminal, Next: Long, Prev: One-shot, Up: Running gawk
@@ -1504,7 +1504,7 @@ following command line:
`awk' applies the PROGRAM to the "standard input", which usually means
whatever you type on the keyboard. This continues until you indicate
-end-of-file by typing `Ctrl-d'. (On other operating systems, the
+end-of-file by typing `Ctrl-d'. (On non-POSIX operating systems, the
end-of-file character may be different. For example, on OS/2, it is
`Ctrl-z'.)
@@ -1579,10 +1579,9 @@ that are provided on the `awk' command line. (Also, placing the
program in a file allows us to use a literal single quote in the program
text, instead of the magic `\47'.)
- If you want to clearly identify your `awk' program files as such,
-you can add the extension `.awk' to the file name. This doesn't affect
-the execution of the `awk' program but it does make "housekeeping"
-easier.
+ If you want to clearly identify an `awk' program file as such, you
+can add the extension `.awk' to the file name. This doesn't affect the
+execution of the `awk' program but it does make "housekeeping" easier.

File: gawk.info, Node: Executable Scripts, Next: Comments, Prev: Long, Up: Running gawk
@@ -1711,7 +1710,7 @@ at a later time.

File: gawk.info, Node: Quoting, Prev: Comments, Up: Running gawk
-1.1.6 Shell-Quoting Issues
+1.1.6 Shell Quoting Issues
--------------------------
* Menu:
@@ -1806,7 +1805,7 @@ shell quoting tricks, like this:
-| Here is a single quote <'>
This program consists of three concatenated quoted strings. The first
-and the third are single quoted, the second is double quoted.
+and the third are single-quoted, and the second is double-quoted.
This can be "simplified" to:
@@ -1833,8 +1832,7 @@ like so:
$ awk 'BEGIN { print "Here is a double quote <\42>" }'
-| Here is a double quote <">
-This works nicely, except that you should comment clearly what the
-escapes mean.
+This works nicely, but you should comment clearly what the escapes mean.
A fourth option is to use command-line variable assignment, like
this:
@@ -1843,11 +1841,11 @@ this:
-| Here is a single quote <'>
(Here, the two string constants and the value of `sq' are
-concatenated into a single string which is printed by `print'.)
+concatenated into a single string that is printed by `print'.)
If you really need both single and double quotes in your `awk'
program, it is probably best to move it into a separate file, where the
-shell won't be part of the picture, and you can say what you mean.
+shell won't be part of the picture and you can say what you mean.

File: gawk.info, Node: DOS Quoting, Up: Quoting
@@ -1905,7 +1903,7 @@ of green crates shipped, the number of red boxes shipped, the number of
orange bags shipped, and the number of blue packages shipped,
respectively. There are 16 entries, covering the 12 months of last year
and the first four months of the current year. An empty line separates
-the data for the two years.
+the data for the two years:
Jan 13 25 15 115
Feb 15 32 24 226
@@ -1937,7 +1935,7 @@ File: gawk.info, Node: Very Simple, Next: Two Rules, Prev: Sample Data Files,
The following command runs a simple `awk' program that searches the
input file `mail-list' for the character string `li' (a grouping of
characters is usually called a "string"; the term "string" is based on
-similar usage in English, such as "a string of pearls," or "a string of
+similar usage in English, such as "a string of pearls" or "a string of
cars in a train"):
awk '/li/ { print $0 }' mail-list
@@ -1973,24 +1971,25 @@ prints all lines matching the pattern `li'. By comparison, omitting
the `print' statement but retaining the braces makes an empty action
that does nothing (i.e., no lines are printed).
- Many practical `awk' programs are just a line or two. Following is a
-collection of useful, short programs to get you started. Some of these
-programs contain constructs that haven't been covered yet. (The
-description of the program will give you a good idea of what is going
-on, but you'll need to read the rest of the Info file to become an
-`awk' expert!) Most of the examples use a data file named `data'.
-This is just a placeholder; if you use these programs yourself,
-substitute your own file names for `data'. For future reference, note
-that there is often more than one way to do things in `awk'. At some
-point, you may want to look back at these examples and see if you can
-come up with different ways to do the same things shown here:
+ Many practical `awk' programs are just a line or two long.
+Following is a collection of useful, short programs to get you started.
+Some of these programs contain constructs that haven't been covered
+yet. (The description of the program will give you a good idea of what
+is going on, but you'll need to read the rest of the Info file to
+become an `awk' expert!) Most of the examples use a data file named
+`data'. This is just a placeholder; if you use these programs
+yourself, substitute your own file names for `data'. For future
+reference, note that there is often more than one way to do things in
+`awk'. At some point, you may want to look back at these examples and
+see if you can come up with different ways to do the same things shown
+here:
* Print every line that is longer than 80 characters:
awk 'length($0) > 80' data
- The sole rule has a relational expression as its pattern and it
- has no action--so it uses the default action, printing the record.
+ The sole rule has a relational expression as its pattern and has no
+ action--so it uses the default action, printing the record.
* Print the length of the longest input line:
@@ -2045,8 +2044,8 @@ come up with different ways to do the same things shown here:
awk 'NR % 2 == 0' data
- If you use the expression `NR % 2 == 1' instead, the program would
- print the odd-numbered lines.
+ If you used the expression `NR % 2 == 1' instead, the program
+ would print the odd-numbered lines.

File: gawk.info, Node: Two Rules, Next: More Complex, Prev: Very Simple, Up: Getting Started
@@ -5918,7 +5917,7 @@ the same as specifying no timeout at all.
implicit loop that reads input records and matches them against
patterns, like so:
- $ gawk 'BEGIN { PROCINFO["-", "READ_TIMEOUT"] = 5000 }
+ $ gawk 'BEGIN { PROCINFO["-", "READ_TIMEOUT"] = 5000 }
> { print "You entered: " $0 }'
gawk
-| You entered: gawk
@@ -32636,7 +32635,7 @@ Index
* exit the debugger: Miscellaneous Debugger Commands.
(line 99)
* exp: Numeric Functions. (line 33)
-* expand utility: Very Simple. (line 72)
+* expand utility: Very Simple. (line 73)
* Expat XML parser library: gawkextlib. (line 33)
* exponent: Numeric Functions. (line 33)
* expressions: Expressions. (line 6)
@@ -34470,560 +34469,560 @@ Index
Tag Table:
Node: Top1204
Node: Foreword342225
-Node: Foreword446667
-Node: Preface48189
-Ref: Preface-Footnote-151060
-Ref: Preface-Footnote-251167
-Ref: Preface-Footnote-351400
-Node: History51542
-Node: Names53888
-Ref: Names-Footnote-154982
-Node: This Manual55128
-Ref: This Manual-Footnote-161615
-Node: Conventions61715
-Node: Manual History64053
-Ref: Manual History-Footnote-167035
-Ref: Manual History-Footnote-267076
-Node: How To Contribute67150
-Node: Acknowledgments68279
-Node: Getting Started73084
-Node: Running gawk75517
-Node: One-shot76707
-Node: Read Terminal77955
-Node: Long79982
-Node: Executable Scripts81498
-Ref: Executable Scripts-Footnote-184287
-Node: Comments84390
-Node: Quoting86872
-Node: DOS Quoting92396
-Node: Sample Data Files93071
-Node: Very Simple95666
-Node: Two Rules100564
-Node: More Complex102450
-Node: Statements/Lines105312
-Ref: Statements/Lines-Footnote-1109767
-Node: Other Features110032
-Node: When110963
-Ref: When-Footnote-1112717
-Node: Intro Summary112782
-Node: Invoking Gawk113665
-Node: Command Line115179
-Node: Options115977
-Ref: Options-Footnote-1131781
-Ref: Options-Footnote-2132010
-Node: Other Arguments132035
-Node: Naming Standard Input134983
-Node: Environment Variables136076
-Node: AWKPATH Variable136634
-Ref: AWKPATH Variable-Footnote-1140047
-Ref: AWKPATH Variable-Footnote-2140092
-Node: AWKLIBPATH Variable140352
-Node: Other Environment Variables141608
-Node: Exit Status145096
-Node: Include Files145772
-Node: Loading Shared Libraries149369
-Node: Obsolete150796
-Node: Undocumented151493
-Node: Invoking Summary151760
-Node: Regexp153424
-Node: Regexp Usage154878
-Node: Escape Sequences156915
-Node: Regexp Operators163156
-Ref: Regexp Operators-Footnote-1170582
-Ref: Regexp Operators-Footnote-2170729
-Node: Bracket Expressions170827
-Ref: table-char-classes172842
-Node: Leftmost Longest175766
-Node: Computed Regexps177068
-Node: GNU Regexp Operators180465
-Node: Case-sensitivity184138
-Ref: Case-sensitivity-Footnote-1187023
-Ref: Case-sensitivity-Footnote-2187258
-Node: Regexp Summary187366
-Node: Reading Files188833
-Node: Records190927
-Node: awk split records191660
-Node: gawk split records196575
-Ref: gawk split records-Footnote-1201119
-Node: Fields201156
-Ref: Fields-Footnote-1203932
-Node: Nonconstant Fields204018
-Ref: Nonconstant Fields-Footnote-1206261
-Node: Changing Fields206465
-Node: Field Separators212394
-Node: Default Field Splitting215099
-Node: Regexp Field Splitting216216
-Node: Single Character Fields219566
-Node: Command Line Field Separator220625
-Node: Full Line Fields223837
-Ref: Full Line Fields-Footnote-1225354
-Ref: Full Line Fields-Footnote-2225400
-Node: Field Splitting Summary225501
-Node: Constant Size227575
-Node: Splitting By Content232164
-Ref: Splitting By Content-Footnote-1236158
-Node: Multiple Line236321
-Ref: Multiple Line-Footnote-1242207
-Node: Getline242386
-Node: Plain Getline244598
-Node: Getline/Variable247238
-Node: Getline/File248386
-Node: Getline/Variable/File249770
-Ref: Getline/Variable/File-Footnote-1251373
-Node: Getline/Pipe251460
-Node: Getline/Variable/Pipe254143
-Node: Getline/Coprocess255274
-Node: Getline/Variable/Coprocess256526
-Node: Getline Notes257265
-Node: Getline Summary260057
-Ref: table-getline-variants260469
-Node: Read Timeout261298
-Ref: Read Timeout-Footnote-1265123
-Node: Command-line directories265181
-Node: Input Summary266086
-Node: Input Exercises269387
-Node: Printing270115
-Node: Print271952
-Node: Print Examples273409
-Node: Output Separators276188
-Node: OFMT278206
-Node: Printf279560
-Node: Basic Printf280345
-Node: Control Letters281915
-Node: Format Modifiers285898
-Node: Printf Examples291907
-Node: Redirection294393
-Node: Special FD301234
-Ref: Special FD-Footnote-1304394
-Node: Special Files304468
-Node: Other Inherited Files305085
-Node: Special Network306085
-Node: Special Caveats306947
-Node: Close Files And Pipes307898
-Ref: Close Files And Pipes-Footnote-1315085
-Ref: Close Files And Pipes-Footnote-2315233
-Node: Print Return Values315383
-Node: Output Summary315937
-Node: Output Exercises316933
-Node: Expressions317613
-Node: Values318798
-Node: Constants319476
-Node: Scalar Constants320167
-Ref: Scalar Constants-Footnote-1321026
-Node: Nondecimal-numbers321276
-Node: Regexp Constants324294
-Node: Using Constant Regexps324819
-Node: Variables327962
-Node: Using Variables328617
-Node: Assignment Options330528
-Node: Conversion332403
-Node: Strings And Numbers332927
-Ref: Strings And Numbers-Footnote-1335992
-Node: Locale influences conversions336101
-Ref: table-locale-affects338848
-Node: All Operators339436
-Node: Arithmetic Ops340066
-Node: Concatenation342571
-Ref: Concatenation-Footnote-1345390
-Node: Assignment Ops345496
-Ref: table-assign-ops350475
-Node: Increment Ops351747
-Node: Truth Values and Conditions355185
-Node: Truth Values356270
-Node: Typing and Comparison357319
-Node: Variable Typing358129
-Node: Comparison Operators361782
-Ref: table-relational-ops362192
-Node: POSIX String Comparison365687
-Ref: POSIX String Comparison-Footnote-1366759
-Node: Boolean Ops366897
-Ref: Boolean Ops-Footnote-1371376
-Node: Conditional Exp371467
-Node: Function Calls373194
-Node: Precedence377074
-Node: Locales380735
-Node: Expressions Summary382367
-Node: Patterns and Actions384927
-Node: Pattern Overview386047
-Node: Regexp Patterns387726
-Node: Expression Patterns388269
-Node: Ranges391979
-Node: BEGIN/END395085
-Node: Using BEGIN/END395846
-Ref: Using BEGIN/END-Footnote-1398580
-Node: I/O And BEGIN/END398686
-Node: BEGINFILE/ENDFILE401000
-Node: Empty403901
-Node: Using Shell Variables404218
-Node: Action Overview406491
-Node: Statements408817
-Node: If Statement410665
-Node: While Statement412160
-Node: Do Statement414189
-Node: For Statement415333
-Node: Switch Statement418490
-Node: Break Statement420872
-Node: Continue Statement422913
-Node: Next Statement424740
-Node: Nextfile Statement427121
-Node: Exit Statement429751
-Node: Built-in Variables432154
-Node: User-modified433287
-Ref: User-modified-Footnote-1440968
-Node: Auto-set441030
-Ref: Auto-set-Footnote-1454722
-Ref: Auto-set-Footnote-2454927
-Node: ARGC and ARGV454983
-Node: Pattern Action Summary459201
-Node: Arrays461628
-Node: Array Basics462957
-Node: Array Intro463801
-Ref: figure-array-elements465765
-Ref: Array Intro-Footnote-1468291
-Node: Reference to Elements468419
-Node: Assigning Elements470871
-Node: Array Example471362
-Node: Scanning an Array473120
-Node: Controlling Scanning476136
-Ref: Controlling Scanning-Footnote-1481332
-Node: Numeric Array Subscripts481648
-Node: Uninitialized Subscripts483833
-Node: Delete485450
-Ref: Delete-Footnote-1488193
-Node: Multidimensional488250
-Node: Multiscanning491347
-Node: Arrays of Arrays492936
-Node: Arrays Summary497695
-Node: Functions499787
-Node: Built-in500686
-Node: Calling Built-in501764
-Node: Numeric Functions503755
-Ref: Numeric Functions-Footnote-1508574
-Ref: Numeric Functions-Footnote-2508931
-Ref: Numeric Functions-Footnote-3508979
-Node: String Functions509251
-Ref: String Functions-Footnote-1532726
-Ref: String Functions-Footnote-2532855
-Ref: String Functions-Footnote-3533103
-Node: Gory Details533190
-Ref: table-sub-escapes534971
-Ref: table-sub-proposed536491
-Ref: table-posix-sub537855
-Ref: table-gensub-escapes539391
-Ref: Gory Details-Footnote-1540223
-Node: I/O Functions540374
-Ref: I/O Functions-Footnote-1547592
-Node: Time Functions547739
-Ref: Time Functions-Footnote-1558227
-Ref: Time Functions-Footnote-2558295
-Ref: Time Functions-Footnote-3558453
-Ref: Time Functions-Footnote-4558564
-Ref: Time Functions-Footnote-5558676
-Ref: Time Functions-Footnote-6558903
-Node: Bitwise Functions559169
-Ref: table-bitwise-ops559731
-Ref: Bitwise Functions-Footnote-1564040
-Node: Type Functions564209
-Node: I18N Functions565360
-Node: User-defined567005
-Node: Definition Syntax567810
-Ref: Definition Syntax-Footnote-1573217
-Node: Function Example573288
-Ref: Function Example-Footnote-1576207
-Node: Function Caveats576229
-Node: Calling A Function576747
-Node: Variable Scope577705
-Node: Pass By Value/Reference580693
-Node: Return Statement584188
-Node: Dynamic Typing587169
-Node: Indirect Calls588098
-Ref: Indirect Calls-Footnote-1599400
-Node: Functions Summary599528
-Node: Library Functions602230
-Ref: Library Functions-Footnote-1605839
-Ref: Library Functions-Footnote-2605982
-Node: Library Names606153
-Ref: Library Names-Footnote-1609607
-Ref: Library Names-Footnote-2609830
-Node: General Functions609916
-Node: Strtonum Function611019
-Node: Assert Function614041
-Node: Round Function617365
-Node: Cliff Random Function618906
-Node: Ordinal Functions619922
-Ref: Ordinal Functions-Footnote-1622985
-Ref: Ordinal Functions-Footnote-2623237
-Node: Join Function623448
-Ref: Join Function-Footnote-1625217
-Node: Getlocaltime Function625417
-Node: Readfile Function629161
-Node: Shell Quoting631131
-Node: Data File Management632532
-Node: Filetrans Function633164
-Node: Rewind Function637220
-Node: File Checking638607
-Ref: File Checking-Footnote-1639939
-Node: Empty Files640140
-Node: Ignoring Assigns642119
-Node: Getopt Function643670
-Ref: Getopt Function-Footnote-1655132
-Node: Passwd Functions655332
-Ref: Passwd Functions-Footnote-1664169
-Node: Group Functions664257
-Ref: Group Functions-Footnote-1672151
-Node: Walking Arrays672364
-Node: Library Functions Summary673967
-Node: Library Exercises675368
-Node: Sample Programs676648
-Node: Running Examples677418
-Node: Clones678146
-Node: Cut Program679370
-Node: Egrep Program689089
-Ref: Egrep Program-Footnote-1696587
-Node: Id Program696697
-Node: Split Program700342
-Ref: Split Program-Footnote-1703790
-Node: Tee Program703918
-Node: Uniq Program706707
-Node: Wc Program714126
-Ref: Wc Program-Footnote-1718376
-Node: Miscellaneous Programs718470
-Node: Dupword Program719683
-Node: Alarm Program721714
-Node: Translate Program726518
-Ref: Translate Program-Footnote-1731083
-Node: Labels Program731353
-Ref: Labels Program-Footnote-1734704
-Node: Word Sorting734788
-Node: History Sorting738859
-Node: Extract Program740695
-Node: Simple Sed748220
-Node: Igawk Program751288
-Ref: Igawk Program-Footnote-1765612
-Ref: Igawk Program-Footnote-2765813
-Ref: Igawk Program-Footnote-3765935
-Node: Anagram Program766050
-Node: Signature Program769107
-Node: Programs Summary770354
-Node: Programs Exercises771547
-Ref: Programs Exercises-Footnote-1775678
-Node: Advanced Features775769
-Node: Nondecimal Data777717
-Node: Array Sorting779307
-Node: Controlling Array Traversal780004
-Ref: Controlling Array Traversal-Footnote-1788337
-Node: Array Sorting Functions788455
-Ref: Array Sorting Functions-Footnote-1792344
-Node: Two-way I/O792540
-Ref: Two-way I/O-Footnote-1797485
-Ref: Two-way I/O-Footnote-2797671
-Node: TCP/IP Networking797753
-Node: Profiling800626
-Node: Advanced Features Summary808903
-Node: Internationalization810836
-Node: I18N and L10N812316
-Node: Explaining gettext813002
-Ref: Explaining gettext-Footnote-1818027
-Ref: Explaining gettext-Footnote-2818211
-Node: Programmer i18n818376
-Ref: Programmer i18n-Footnote-1823242
-Node: Translator i18n823291
-Node: String Extraction824085
-Ref: String Extraction-Footnote-1825216
-Node: Printf Ordering825302
-Ref: Printf Ordering-Footnote-1828088
-Node: I18N Portability828152
-Ref: I18N Portability-Footnote-1830607
-Node: I18N Example830670
-Ref: I18N Example-Footnote-1833473
-Node: Gawk I18N833545
-Node: I18N Summary834183
-Node: Debugger835522
-Node: Debugging836544
-Node: Debugging Concepts836985
-Node: Debugging Terms838838
-Node: Awk Debugging841410
-Node: Sample Debugging Session842304
-Node: Debugger Invocation842824
-Node: Finding The Bug844208
-Node: List of Debugger Commands850683
-Node: Breakpoint Control852016
-Node: Debugger Execution Control855712
-Node: Viewing And Changing Data859076
-Node: Execution Stack862454
-Node: Debugger Info864091
-Node: Miscellaneous Debugger Commands868108
-Node: Readline Support873137
-Node: Limitations874029
-Node: Debugging Summary876143
-Node: Arbitrary Precision Arithmetic877311
-Node: Computer Arithmetic878727
-Ref: table-numeric-ranges882325
-Ref: Computer Arithmetic-Footnote-1883184
-Node: Math Definitions883241
-Ref: table-ieee-formats886529
-Ref: Math Definitions-Footnote-1887133
-Node: MPFR features887238
-Node: FP Math Caution888909
-Ref: FP Math Caution-Footnote-1889959
-Node: Inexactness of computations890328
-Node: Inexact representation891287
-Node: Comparing FP Values892644
-Node: Errors accumulate893726
-Node: Getting Accuracy895159
-Node: Try To Round897821
-Node: Setting precision898720
-Ref: table-predefined-precision-strings899404
-Node: Setting the rounding mode901193
-Ref: table-gawk-rounding-modes901557
-Ref: Setting the rounding mode-Footnote-1905012
-Node: Arbitrary Precision Integers905191
-Ref: Arbitrary Precision Integers-Footnote-1910090
-Node: POSIX Floating Point Problems910239
-Ref: POSIX Floating Point Problems-Footnote-1914112
-Node: Floating point summary914150
-Node: Dynamic Extensions916344
-Node: Extension Intro917896
-Node: Plugin License919162
-Node: Extension Mechanism Outline919959
-Ref: figure-load-extension920387
-Ref: figure-register-new-function921867
-Ref: figure-call-new-function922871
-Node: Extension API Description924857
-Node: Extension API Functions Introduction926307
-Node: General Data Types931131
-Ref: General Data Types-Footnote-1936870
-Node: Memory Allocation Functions937169
-Ref: Memory Allocation Functions-Footnote-1940008
-Node: Constructor Functions940104
-Node: Registration Functions941838
-Node: Extension Functions942523
-Node: Exit Callback Functions944820
-Node: Extension Version String946068
-Node: Input Parsers946733
-Node: Output Wrappers956612
-Node: Two-way processors961127
-Node: Printing Messages963331
-Ref: Printing Messages-Footnote-1964407
-Node: Updating `ERRNO'964559
-Node: Requesting Values965299
-Ref: table-value-types-returned966027
-Node: Accessing Parameters966984
-Node: Symbol Table Access968215
-Node: Symbol table by name968729
-Node: Symbol table by cookie970710
-Ref: Symbol table by cookie-Footnote-1974854
-Node: Cached values974917
-Ref: Cached values-Footnote-1978416
-Node: Array Manipulation978507
-Ref: Array Manipulation-Footnote-1979605
-Node: Array Data Types979642
-Ref: Array Data Types-Footnote-1982297
-Node: Array Functions982389
-Node: Flattening Arrays986243
-Node: Creating Arrays993135
-Node: Extension API Variables997906
-Node: Extension Versioning998542
-Node: Extension API Informational Variables1000443
-Node: Extension API Boilerplate1001508
-Node: Finding Extensions1005317
-Node: Extension Example1005877
-Node: Internal File Description1006649
-Node: Internal File Ops1010716
-Ref: Internal File Ops-Footnote-11022386
-Node: Using Internal File Ops1022526
-Ref: Using Internal File Ops-Footnote-11024909
-Node: Extension Samples1025182
-Node: Extension Sample File Functions1026708
-Node: Extension Sample Fnmatch1034346
-Node: Extension Sample Fork1035837
-Node: Extension Sample Inplace1037052
-Node: Extension Sample Ord1038727
-Node: Extension Sample Readdir1039563
-Ref: table-readdir-file-types1040439
-Node: Extension Sample Revout1041250
-Node: Extension Sample Rev2way1041840
-Node: Extension Sample Read write array1042580
-Node: Extension Sample Readfile1044520
-Node: Extension Sample Time1045615
-Node: Extension Sample API Tests1046964
-Node: gawkextlib1047455
-Node: Extension summary1050113
-Node: Extension Exercises1053802
-Node: Language History1054524
-Node: V7/SVR3.11056180
-Node: SVR41058361
-Node: POSIX1059806
-Node: BTL1061195
-Node: POSIX/GNU1061929
-Node: Feature History1067553
-Node: Common Extensions1080651
-Node: Ranges and Locales1081975
-Ref: Ranges and Locales-Footnote-11086593
-Ref: Ranges and Locales-Footnote-21086620
-Ref: Ranges and Locales-Footnote-31086854
-Node: Contributors1087075
-Node: History summary1092616
-Node: Installation1093986
-Node: Gawk Distribution1094932
-Node: Getting1095416
-Node: Extracting1096239
-Node: Distribution contents1097874
-Node: Unix Installation1103939
-Node: Quick Installation1104622
-Node: Shell Startup Files1107033
-Node: Additional Configuration Options1108112
-Node: Configuration Philosophy1109851
-Node: Non-Unix Installation1112220
-Node: PC Installation1112678
-Node: PC Binary Installation1113997
-Node: PC Compiling1115845
-Ref: PC Compiling-Footnote-11118866
-Node: PC Testing1118975
-Node: PC Using1120151
-Node: Cygwin1124266
-Node: MSYS1125089
-Node: VMS Installation1125589
-Node: VMS Compilation1126381
-Ref: VMS Compilation-Footnote-11127603
-Node: VMS Dynamic Extensions1127661
-Node: VMS Installation Details1129345
-Node: VMS Running1131597
-Node: VMS GNV1134433
-Node: VMS Old Gawk1135167
-Node: Bugs1135637
-Node: Other Versions1139520
-Node: Installation summary1145948
-Node: Notes1147004
-Node: Compatibility Mode1147869
-Node: Additions1148651
-Node: Accessing The Source1149576
-Node: Adding Code1151012
-Node: New Ports1157177
-Node: Derived Files1161659
-Ref: Derived Files-Footnote-11167134
-Ref: Derived Files-Footnote-21167168
-Ref: Derived Files-Footnote-31167764
-Node: Future Extensions1167878
-Node: Implementation Limitations1168484
-Node: Extension Design1169732
-Node: Old Extension Problems1170886
-Ref: Old Extension Problems-Footnote-11172403
-Node: Extension New Mechanism Goals1172460
-Ref: Extension New Mechanism Goals-Footnote-11175820
-Node: Extension Other Design Decisions1176009
-Node: Extension Future Growth1178117
-Node: Old Extension Mechanism1178953
-Node: Notes summary1180715
-Node: Basic Concepts1181901
-Node: Basic High Level1182582
-Ref: figure-general-flow1182854
-Ref: figure-process-flow1183453
-Ref: Basic High Level-Footnote-11186682
-Node: Basic Data Typing1186867
-Node: Glossary1190195
-Node: Copying1215353
-Node: GNU Free Documentation License1252909
-Node: Index1278045
+Node: Foreword446669
+Node: Preface48200
+Ref: Preface-Footnote-151071
+Ref: Preface-Footnote-251178
+Ref: Preface-Footnote-351411
+Node: History51553
+Node: Names53904
+Ref: Names-Footnote-154997
+Node: This Manual55143
+Ref: This Manual-Footnote-161643
+Node: Conventions61743
+Node: Manual History64080
+Ref: Manual History-Footnote-167073
+Ref: Manual History-Footnote-267114
+Node: How To Contribute67188
+Node: Acknowledgments68317
+Node: Getting Started73134
+Node: Running gawk75573
+Node: One-shot76763
+Node: Read Terminal78027
+Node: Long80058
+Node: Executable Scripts81571
+Ref: Executable Scripts-Footnote-184360
+Node: Comments84463
+Node: Quoting86945
+Node: DOS Quoting92463
+Node: Sample Data Files93138
+Node: Very Simple95733
+Node: Two Rules100632
+Node: More Complex102518
+Node: Statements/Lines105380
+Ref: Statements/Lines-Footnote-1109835
+Node: Other Features110100
+Node: When111031
+Ref: When-Footnote-1112785
+Node: Intro Summary112850
+Node: Invoking Gawk113733
+Node: Command Line115247
+Node: Options116045
+Ref: Options-Footnote-1131849
+Ref: Options-Footnote-2132078
+Node: Other Arguments132103
+Node: Naming Standard Input135051
+Node: Environment Variables136144
+Node: AWKPATH Variable136702
+Ref: AWKPATH Variable-Footnote-1140115
+Ref: AWKPATH Variable-Footnote-2140160
+Node: AWKLIBPATH Variable140420
+Node: Other Environment Variables141676
+Node: Exit Status145164
+Node: Include Files145840
+Node: Loading Shared Libraries149437
+Node: Obsolete150864
+Node: Undocumented151561
+Node: Invoking Summary151828
+Node: Regexp153492
+Node: Regexp Usage154946
+Node: Escape Sequences156983
+Node: Regexp Operators163224
+Ref: Regexp Operators-Footnote-1170650
+Ref: Regexp Operators-Footnote-2170797
+Node: Bracket Expressions170895
+Ref: table-char-classes172910
+Node: Leftmost Longest175834
+Node: Computed Regexps177136
+Node: GNU Regexp Operators180533
+Node: Case-sensitivity184206
+Ref: Case-sensitivity-Footnote-1187091
+Ref: Case-sensitivity-Footnote-2187326
+Node: Regexp Summary187434
+Node: Reading Files188901
+Node: Records190995
+Node: awk split records191728
+Node: gawk split records196643
+Ref: gawk split records-Footnote-1201187
+Node: Fields201224
+Ref: Fields-Footnote-1204000
+Node: Nonconstant Fields204086
+Ref: Nonconstant Fields-Footnote-1206329
+Node: Changing Fields206533
+Node: Field Separators212462
+Node: Default Field Splitting215167
+Node: Regexp Field Splitting216284
+Node: Single Character Fields219634
+Node: Command Line Field Separator220693
+Node: Full Line Fields223905
+Ref: Full Line Fields-Footnote-1225422
+Ref: Full Line Fields-Footnote-2225468
+Node: Field Splitting Summary225569
+Node: Constant Size227643
+Node: Splitting By Content232232
+Ref: Splitting By Content-Footnote-1236226
+Node: Multiple Line236389
+Ref: Multiple Line-Footnote-1242275
+Node: Getline242454
+Node: Plain Getline244666
+Node: Getline/Variable247306
+Node: Getline/File248454
+Node: Getline/Variable/File249838
+Ref: Getline/Variable/File-Footnote-1251441
+Node: Getline/Pipe251528
+Node: Getline/Variable/Pipe254211
+Node: Getline/Coprocess255342
+Node: Getline/Variable/Coprocess256594
+Node: Getline Notes257333
+Node: Getline Summary260125
+Ref: table-getline-variants260537
+Node: Read Timeout261366
+Ref: Read Timeout-Footnote-1265190
+Node: Command-line directories265248
+Node: Input Summary266153
+Node: Input Exercises269454
+Node: Printing270182
+Node: Print272019
+Node: Print Examples273476
+Node: Output Separators276255
+Node: OFMT278273
+Node: Printf279627
+Node: Basic Printf280412
+Node: Control Letters281982
+Node: Format Modifiers285965
+Node: Printf Examples291974
+Node: Redirection294460
+Node: Special FD301301
+Ref: Special FD-Footnote-1304461
+Node: Special Files304535
+Node: Other Inherited Files305152
+Node: Special Network306152
+Node: Special Caveats307014
+Node: Close Files And Pipes307965
+Ref: Close Files And Pipes-Footnote-1315152
+Ref: Close Files And Pipes-Footnote-2315300
+Node: Print Return Values315450
+Node: Output Summary316004
+Node: Output Exercises317000
+Node: Expressions317680
+Node: Values318865
+Node: Constants319543
+Node: Scalar Constants320234
+Ref: Scalar Constants-Footnote-1321093
+Node: Nondecimal-numbers321343
+Node: Regexp Constants324361
+Node: Using Constant Regexps324886
+Node: Variables328029
+Node: Using Variables328684
+Node: Assignment Options330595
+Node: Conversion332470
+Node: Strings And Numbers332994
+Ref: Strings And Numbers-Footnote-1336059
+Node: Locale influences conversions336168
+Ref: table-locale-affects338915
+Node: All Operators339503
+Node: Arithmetic Ops340133
+Node: Concatenation342638
+Ref: Concatenation-Footnote-1345457
+Node: Assignment Ops345563
+Ref: table-assign-ops350542
+Node: Increment Ops351814
+Node: Truth Values and Conditions355252
+Node: Truth Values356337
+Node: Typing and Comparison357386
+Node: Variable Typing358196
+Node: Comparison Operators361849
+Ref: table-relational-ops362259
+Node: POSIX String Comparison365754
+Ref: POSIX String Comparison-Footnote-1366826
+Node: Boolean Ops366964
+Ref: Boolean Ops-Footnote-1371443
+Node: Conditional Exp371534
+Node: Function Calls373261
+Node: Precedence377141
+Node: Locales380802
+Node: Expressions Summary382434
+Node: Patterns and Actions384994
+Node: Pattern Overview386114
+Node: Regexp Patterns387793
+Node: Expression Patterns388336
+Node: Ranges392046
+Node: BEGIN/END395152
+Node: Using BEGIN/END395913
+Ref: Using BEGIN/END-Footnote-1398647
+Node: I/O And BEGIN/END398753
+Node: BEGINFILE/ENDFILE401067
+Node: Empty403968
+Node: Using Shell Variables404285
+Node: Action Overview406558
+Node: Statements408884
+Node: If Statement410732
+Node: While Statement412227
+Node: Do Statement414256
+Node: For Statement415400
+Node: Switch Statement418557
+Node: Break Statement420939
+Node: Continue Statement422980
+Node: Next Statement424807
+Node: Nextfile Statement427188
+Node: Exit Statement429818
+Node: Built-in Variables432221
+Node: User-modified433354
+Ref: User-modified-Footnote-1441035
+Node: Auto-set441097
+Ref: Auto-set-Footnote-1454789
+Ref: Auto-set-Footnote-2454994
+Node: ARGC and ARGV455050
+Node: Pattern Action Summary459268
+Node: Arrays461695
+Node: Array Basics463024
+Node: Array Intro463868
+Ref: figure-array-elements465832
+Ref: Array Intro-Footnote-1468358
+Node: Reference to Elements468486
+Node: Assigning Elements470938
+Node: Array Example471429
+Node: Scanning an Array473187
+Node: Controlling Scanning476203
+Ref: Controlling Scanning-Footnote-1481399
+Node: Numeric Array Subscripts481715
+Node: Uninitialized Subscripts483900
+Node: Delete485517
+Ref: Delete-Footnote-1488260
+Node: Multidimensional488317
+Node: Multiscanning491414
+Node: Arrays of Arrays493003
+Node: Arrays Summary497762
+Node: Functions499854
+Node: Built-in500753
+Node: Calling Built-in501831
+Node: Numeric Functions503822
+Ref: Numeric Functions-Footnote-1508641
+Ref: Numeric Functions-Footnote-2508998
+Ref: Numeric Functions-Footnote-3509046
+Node: String Functions509318
+Ref: String Functions-Footnote-1532793
+Ref: String Functions-Footnote-2532922
+Ref: String Functions-Footnote-3533170
+Node: Gory Details533257
+Ref: table-sub-escapes535038
+Ref: table-sub-proposed536558
+Ref: table-posix-sub537922
+Ref: table-gensub-escapes539458
+Ref: Gory Details-Footnote-1540290
+Node: I/O Functions540441
+Ref: I/O Functions-Footnote-1547659
+Node: Time Functions547806
+Ref: Time Functions-Footnote-1558294
+Ref: Time Functions-Footnote-2558362
+Ref: Time Functions-Footnote-3558520
+Ref: Time Functions-Footnote-4558631
+Ref: Time Functions-Footnote-5558743
+Ref: Time Functions-Footnote-6558970
+Node: Bitwise Functions559236
+Ref: table-bitwise-ops559798
+Ref: Bitwise Functions-Footnote-1564107
+Node: Type Functions564276
+Node: I18N Functions565427
+Node: User-defined567072
+Node: Definition Syntax567877
+Ref: Definition Syntax-Footnote-1573284
+Node: Function Example573355
+Ref: Function Example-Footnote-1576274
+Node: Function Caveats576296
+Node: Calling A Function576814
+Node: Variable Scope577772
+Node: Pass By Value/Reference580760
+Node: Return Statement584255
+Node: Dynamic Typing587236
+Node: Indirect Calls588165
+Ref: Indirect Calls-Footnote-1599467
+Node: Functions Summary599595
+Node: Library Functions602297
+Ref: Library Functions-Footnote-1605906
+Ref: Library Functions-Footnote-2606049
+Node: Library Names606220
+Ref: Library Names-Footnote-1609674
+Ref: Library Names-Footnote-2609897
+Node: General Functions609983
+Node: Strtonum Function611086
+Node: Assert Function614108
+Node: Round Function617432
+Node: Cliff Random Function618973
+Node: Ordinal Functions619989
+Ref: Ordinal Functions-Footnote-1623052
+Ref: Ordinal Functions-Footnote-2623304
+Node: Join Function623515
+Ref: Join Function-Footnote-1625284
+Node: Getlocaltime Function625484
+Node: Readfile Function629228
+Node: Shell Quoting631198
+Node: Data File Management632599
+Node: Filetrans Function633231
+Node: Rewind Function637287
+Node: File Checking638674
+Ref: File Checking-Footnote-1640006
+Node: Empty Files640207
+Node: Ignoring Assigns642186
+Node: Getopt Function643737
+Ref: Getopt Function-Footnote-1655199
+Node: Passwd Functions655399
+Ref: Passwd Functions-Footnote-1664236
+Node: Group Functions664324
+Ref: Group Functions-Footnote-1672218
+Node: Walking Arrays672431
+Node: Library Functions Summary674034
+Node: Library Exercises675435
+Node: Sample Programs676715
+Node: Running Examples677485
+Node: Clones678213
+Node: Cut Program679437
+Node: Egrep Program689156
+Ref: Egrep Program-Footnote-1696654
+Node: Id Program696764
+Node: Split Program700409
+Ref: Split Program-Footnote-1703857
+Node: Tee Program703985
+Node: Uniq Program706774
+Node: Wc Program714193
+Ref: Wc Program-Footnote-1718443
+Node: Miscellaneous Programs718537
+Node: Dupword Program719750
+Node: Alarm Program721781
+Node: Translate Program726585
+Ref: Translate Program-Footnote-1731150
+Node: Labels Program731420
+Ref: Labels Program-Footnote-1734771
+Node: Word Sorting734855
+Node: History Sorting738926
+Node: Extract Program740762
+Node: Simple Sed748287
+Node: Igawk Program751355
+Ref: Igawk Program-Footnote-1765679
+Ref: Igawk Program-Footnote-2765880
+Ref: Igawk Program-Footnote-3766002
+Node: Anagram Program766117
+Node: Signature Program769174
+Node: Programs Summary770421
+Node: Programs Exercises771614
+Ref: Programs Exercises-Footnote-1775745
+Node: Advanced Features775836
+Node: Nondecimal Data777784
+Node: Array Sorting779374
+Node: Controlling Array Traversal780071
+Ref: Controlling Array Traversal-Footnote-1788404
+Node: Array Sorting Functions788522
+Ref: Array Sorting Functions-Footnote-1792411
+Node: Two-way I/O792607
+Ref: Two-way I/O-Footnote-1797552
+Ref: Two-way I/O-Footnote-2797738
+Node: TCP/IP Networking797820
+Node: Profiling800693
+Node: Advanced Features Summary808970
+Node: Internationalization810903
+Node: I18N and L10N812383
+Node: Explaining gettext813069
+Ref: Explaining gettext-Footnote-1818094
+Ref: Explaining gettext-Footnote-2818278
+Node: Programmer i18n818443
+Ref: Programmer i18n-Footnote-1823309
+Node: Translator i18n823358
+Node: String Extraction824152
+Ref: String Extraction-Footnote-1825283
+Node: Printf Ordering825369
+Ref: Printf Ordering-Footnote-1828155
+Node: I18N Portability828219
+Ref: I18N Portability-Footnote-1830674
+Node: I18N Example830737
+Ref: I18N Example-Footnote-1833540
+Node: Gawk I18N833612
+Node: I18N Summary834250
+Node: Debugger835589
+Node: Debugging836611
+Node: Debugging Concepts837052
+Node: Debugging Terms838905
+Node: Awk Debugging841477
+Node: Sample Debugging Session842371
+Node: Debugger Invocation842891
+Node: Finding The Bug844275
+Node: List of Debugger Commands850750
+Node: Breakpoint Control852083
+Node: Debugger Execution Control855779
+Node: Viewing And Changing Data859143
+Node: Execution Stack862521
+Node: Debugger Info864158
+Node: Miscellaneous Debugger Commands868175
+Node: Readline Support873204
+Node: Limitations874096
+Node: Debugging Summary876210
+Node: Arbitrary Precision Arithmetic877378
+Node: Computer Arithmetic878794
+Ref: table-numeric-ranges882392
+Ref: Computer Arithmetic-Footnote-1883251
+Node: Math Definitions883308
+Ref: table-ieee-formats886596
+Ref: Math Definitions-Footnote-1887200
+Node: MPFR features887305
+Node: FP Math Caution888976
+Ref: FP Math Caution-Footnote-1890026
+Node: Inexactness of computations890395
+Node: Inexact representation891354
+Node: Comparing FP Values892711
+Node: Errors accumulate893793
+Node: Getting Accuracy895226
+Node: Try To Round897888
+Node: Setting precision898787
+Ref: table-predefined-precision-strings899471
+Node: Setting the rounding mode901260
+Ref: table-gawk-rounding-modes901624
+Ref: Setting the rounding mode-Footnote-1905079
+Node: Arbitrary Precision Integers905258
+Ref: Arbitrary Precision Integers-Footnote-1910157
+Node: POSIX Floating Point Problems910306
+Ref: POSIX Floating Point Problems-Footnote-1914179
+Node: Floating point summary914217
+Node: Dynamic Extensions916411
+Node: Extension Intro917963
+Node: Plugin License919229
+Node: Extension Mechanism Outline920026
+Ref: figure-load-extension920454
+Ref: figure-register-new-function921934
+Ref: figure-call-new-function922938
+Node: Extension API Description924924
+Node: Extension API Functions Introduction926374
+Node: General Data Types931198
+Ref: General Data Types-Footnote-1936937
+Node: Memory Allocation Functions937236
+Ref: Memory Allocation Functions-Footnote-1940075
+Node: Constructor Functions940171
+Node: Registration Functions941905
+Node: Extension Functions942590
+Node: Exit Callback Functions944887
+Node: Extension Version String946135
+Node: Input Parsers946800
+Node: Output Wrappers956679
+Node: Two-way processors961194
+Node: Printing Messages963398
+Ref: Printing Messages-Footnote-1964474
+Node: Updating `ERRNO'964626
+Node: Requesting Values965366
+Ref: table-value-types-returned966094
+Node: Accessing Parameters967051
+Node: Symbol Table Access968282
+Node: Symbol table by name968796
+Node: Symbol table by cookie970777
+Ref: Symbol table by cookie-Footnote-1974921
+Node: Cached values974984
+Ref: Cached values-Footnote-1978483
+Node: Array Manipulation978574
+Ref: Array Manipulation-Footnote-1979672
+Node: Array Data Types979709
+Ref: Array Data Types-Footnote-1982364
+Node: Array Functions982456
+Node: Flattening Arrays986310
+Node: Creating Arrays993202
+Node: Extension API Variables997973
+Node: Extension Versioning998609
+Node: Extension API Informational Variables1000510
+Node: Extension API Boilerplate1001575
+Node: Finding Extensions1005384
+Node: Extension Example1005944
+Node: Internal File Description1006716
+Node: Internal File Ops1010783
+Ref: Internal File Ops-Footnote-11022453
+Node: Using Internal File Ops1022593
+Ref: Using Internal File Ops-Footnote-11024976
+Node: Extension Samples1025249
+Node: Extension Sample File Functions1026775
+Node: Extension Sample Fnmatch1034413
+Node: Extension Sample Fork1035904
+Node: Extension Sample Inplace1037119
+Node: Extension Sample Ord1038794
+Node: Extension Sample Readdir1039630
+Ref: table-readdir-file-types1040506
+Node: Extension Sample Revout1041317
+Node: Extension Sample Rev2way1041907
+Node: Extension Sample Read write array1042647
+Node: Extension Sample Readfile1044587
+Node: Extension Sample Time1045682
+Node: Extension Sample API Tests1047031
+Node: gawkextlib1047522
+Node: Extension summary1050180
+Node: Extension Exercises1053869
+Node: Language History1054591
+Node: V7/SVR3.11056247
+Node: SVR41058428
+Node: POSIX1059873
+Node: BTL1061262
+Node: POSIX/GNU1061996
+Node: Feature History1067620
+Node: Common Extensions1080718
+Node: Ranges and Locales1082042
+Ref: Ranges and Locales-Footnote-11086660
+Ref: Ranges and Locales-Footnote-21086687
+Ref: Ranges and Locales-Footnote-31086921
+Node: Contributors1087142
+Node: History summary1092683
+Node: Installation1094053
+Node: Gawk Distribution1094999
+Node: Getting1095483
+Node: Extracting1096306
+Node: Distribution contents1097941
+Node: Unix Installation1104006
+Node: Quick Installation1104689
+Node: Shell Startup Files1107100
+Node: Additional Configuration Options1108179
+Node: Configuration Philosophy1109918
+Node: Non-Unix Installation1112287
+Node: PC Installation1112745
+Node: PC Binary Installation1114064
+Node: PC Compiling1115912
+Ref: PC Compiling-Footnote-11118933
+Node: PC Testing1119042
+Node: PC Using1120218
+Node: Cygwin1124333
+Node: MSYS1125156
+Node: VMS Installation1125656
+Node: VMS Compilation1126448
+Ref: VMS Compilation-Footnote-11127670
+Node: VMS Dynamic Extensions1127728
+Node: VMS Installation Details1129412
+Node: VMS Running1131664
+Node: VMS GNV1134500
+Node: VMS Old Gawk1135234
+Node: Bugs1135704
+Node: Other Versions1139587
+Node: Installation summary1146015
+Node: Notes1147071
+Node: Compatibility Mode1147936
+Node: Additions1148718
+Node: Accessing The Source1149643
+Node: Adding Code1151079
+Node: New Ports1157244
+Node: Derived Files1161726
+Ref: Derived Files-Footnote-11167201
+Ref: Derived Files-Footnote-21167235
+Ref: Derived Files-Footnote-31167831
+Node: Future Extensions1167945
+Node: Implementation Limitations1168551
+Node: Extension Design1169799
+Node: Old Extension Problems1170953
+Ref: Old Extension Problems-Footnote-11172470
+Node: Extension New Mechanism Goals1172527
+Ref: Extension New Mechanism Goals-Footnote-11175887
+Node: Extension Other Design Decisions1176076
+Node: Extension Future Growth1178184
+Node: Old Extension Mechanism1179020
+Node: Notes summary1180782
+Node: Basic Concepts1181968
+Node: Basic High Level1182649
+Ref: figure-general-flow1182921
+Ref: figure-process-flow1183520
+Ref: Basic High Level-Footnote-11186749
+Node: Basic Data Typing1186934
+Node: Glossary1190262
+Node: Copying1215420
+Node: GNU Free Documentation License1252976
+Node: Index1278112

End Tag Table