aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info1142
1 files changed, 675 insertions, 467 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index 9847e6be..4c422294 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -4042,6 +4042,7 @@ have to be named on the `awk' command line (*note Getline::).
* Read Timeout:: Reading input with a timeout.
* Command line directories:: What happens if you put a directory on the
command line.
+* Input Summary:: Input summary.

File: gawk.info, Node: Records, Next: Fields, Up: Reading Files
@@ -5829,7 +5830,7 @@ writing.
(1) This assumes that standard input is the keyboard.

-File: gawk.info, Node: Command line directories, Prev: Read Timeout, Up: Reading Files
+File: gawk.info, Node: Command line directories, Next: Input Summary, Prev: Read Timeout, Up: Reading Files
4.11 Directories On The Command Line
====================================
@@ -5852,6 +5853,75 @@ error.
usable data from an `awk' program.

+File: gawk.info, Node: Input Summary, Prev: Command line directories, Up: Reading Files
+
+4.12 Summary
+============
+
+ * Input is split into records based on the value of `RS'. The
+ possibilities are as follows:
+
+ Value of `RS' Records are split on `awk' / `gawk'
+ ----------------------------------------------------------------------
+ Any single That character `awk'
+ character
+ The empty string Runs of two or more `awk'
+ (`""') newlines
+ A regexp Text that matches the `gawk'
+ regexp
+
+ * `gawk' sets `RT' to the text matched by `RS'.
+
+ * After splitting the input into records, `awk' further splits the
+ record into individual fields, named `$1', `$2' and so on. `$0' is
+ the whole record, and `NF' indicates how many fields there are.
+ The default way to split fields is between whitespace characters.
+
+ * Fields may be referenced using a variable, as in `$NF'. Fields
+ may also be assigned values, which causes the value of `$0' to be
+ recomputed when it is later referenced. Assigning to a field with
+ a number greater than `NF' creates the field and rebuilds the
+ record, using `OFS' to separate the fields. Incrementing `NF'
+ does the same thing. Decrementing `NF' throws away fields and
+ rebuilds the record.
+
+ * Field splitting is more complicated than record splitting.
+
+ Field separator value Fields are split ... `awk' /
+ `gawk'
+ ----------------------------------------------------------------------
+ `FS == " "' On runs of whitespace `awk'
+ `FS == ANY SINGLE On that character `awk'
+ CHARACTER'
+ `FS == REGEXP' On text matching the `awk'
+ regexp
+ `FS == ""' Each individual character `gawk'
+ is a separate field
+ `FIELDWIDTHS == LIST OF Based on character `gawk'
+ COLUMNS' position
+ `FPAT == REGEXP' On text around text `gawk'
+ matching the regexp
+
+ Using `FS = "\n"' causes the entire record to be a single field
+ (assuming that newlines separate records).
+
+ * `FS' may be set from the command line using the `-F' option. This
+ can also be done using command-line variable assignment.
+
+ * `PROCINFO["FS"]' can be used to see how fields are being split.
+
+ * Use `getline' in its varioius forms to read additional records,
+ from the default input stream, from a file, or from a pipe or
+ co-process.
+
+ * Use `PROCINFO[FILE, "READ_TIMEOUT"]' to cause reads to timeout for
+ FILE.
+
+ * Directories on the command line are fatal for standard `awk';
+ `gawk' ignores them if not in POSIX mode.
+
+
+
File: gawk.info, Node: Printing, Next: Expressions, Prev: Reading Files, Up: Top
5 Printing Output
@@ -5885,6 +5955,7 @@ function.
`gawk' allows access to inherited file
descriptors.
* Close Files And Pipes:: Closing Input and Output Files and Pipes.
+* Output Summary:: Output summary.

File: gawk.info, Node: Print, Next: Print Examples, Up: Printing
@@ -6776,7 +6847,7 @@ that `gawk' provides:
behavior.

-File: gawk.info, Node: Close Files And Pipes, Prev: Special Files, Up: Printing
+File: gawk.info, Node: Close Files And Pipes, Next: Output Summary, Prev: Special Files, Up: Printing
5.8 Closing Input and Output Redirections
=========================================
@@ -6943,6 +7014,32 @@ call. See the system manual pages for information on how to decode this
value.

+File: gawk.info, Node: Output Summary, Prev: Close Files And Pipes, Up: Printing
+
+5.9 Summary
+===========
+
+ * The `print' statement prints comma-separated expressions. Each
+ expression is separated by the value of `OFS' and terminated by
+ the value of `ORS'. `OFMT' provides the conversion format for
+ numeric values for the `print' statement.
+
+ * The `printf' statement provides finer-grained control over output,
+ with format control letters for different data types and various
+ flags that modify the behavior of the format control letters.
+
+ * Output from both `print' and `printf' may be redirected to files,
+ pipes, and co-processes.
+
+ * `gawk' provides special file names for access to standard input,
+ output and error, and for network communications.
+
+ * Use `close()' to close open file, pipe and co-process redirections.
+ For co-processes, it is possible to close only one direction of the
+ communications.
+
+
+
File: gawk.info, Node: Expressions, Next: Patterns and Actions, Prev: Printing, Up: Top
6 Expressions
@@ -6968,6 +7065,7 @@ operators.
* Function Calls:: A function call is an expression.
* Precedence:: How various operators nest.
* Locales:: How the locale affects things.
+* Expressions Summary:: Expressions summary.

File: gawk.info, Node: Values, Next: All Operators, Up: Expressions
@@ -8516,7 +8614,7 @@ String Concatenation
POSIX. For maximum portability, do not use them.

-File: gawk.info, Node: Locales, Prev: Precedence, Up: Expressions
+File: gawk.info, Node: Locales, Next: Expressions Summary, Prev: Precedence, Up: Expressions
6.6 Where You Are Makes A Difference
====================================
@@ -8552,6 +8650,62 @@ used when `gawk' parses input data. This is discussed in detail in
*note Conversion::.

+File: gawk.info, Node: Expressions Summary, Prev: Locales, Up: Expressions
+
+6.7 Summary
+===========
+
+ * Expressions are the basic elements of computation in programs.
+ They are built from constants, variables, function calls and
+ combinations of the various kinds of values with operators.
+
+ * `awk' supplies three kinds of constants: numeric, string, and
+ regexp. `gawk' lets you specify numeric constants in octal and
+ hexadecimal (bases 8 and 16) in addition to decimal (base 10). In
+ certain contexts, a standalone regexp constant such as `/foo/' has
+ the same meaning as `$0 ~ /foo/'.
+
+ * Variables hold values between uses in computations. A number of
+ built-in variables provide information to your `awk' program, and
+ a number of others let you control how `awk' behaves.
+
+ * Numbers are automatically converted to strings, and strings to
+ numbers, as needed by `awk'. Numeric values are converted as if
+ they were formatted with `sprintf()' using the format in `CONVFMT'.
+
+ * `awk' provides the usual arithmetic operators (addition,
+ subtraction, multiplication, division, modulus), and unary plus
+ and minus. It also provides comparison operators, boolean
+ operators, and regexp matching operators. String concatenation is
+ accomplished by placing two expressions next to each other; there
+ is no explicit operator. The three-operand `?:' operator provides
+ an "if-else" test within expressions.
+
+ * Assignment operators provide convenient shorthands for common
+ arithmetic operations.
+
+ * In `awk', a value is considered to be true if it is non-zero _or_
+ non-null. Otherwise, the value is false.
+
+ * A value's type is set upon each assignment and may change over its
+ lifetime. The type determines how it behaves in comparisons
+ (string or numeric).
+
+ * Function calls return a value which may be used as part of a larger
+ expression. Expressions used to pass parameter values are fully
+ evaluated before the function is called. `awk' provides built-in
+ and user-defined functions; this is described later on in this
+ Info file.
+
+ * Operator precedence specifies the order in which operations are
+ performed, unless explicitly overridden by parentheses. `awk''s
+ operator precedence is compatible with that of C.
+
+ * Locales can affect the format of data as output by an `awk'
+ program, and occasionally the format for data read as input.
+
+
+
File: gawk.info, Node: Patterns and Actions, Next: Arrays, Prev: Expressions, Up: Top
7 Patterns, Actions, and Variables
@@ -8575,6 +8729,7 @@ top of. Now it's time to start building something useful.
* Statements:: Describes the various control statements in
detail.
* Built-in Variables:: Summarizes the built-in variables.
+* Pattern Action Summary:: Patterns and Actions summary.

File: gawk.info, Node: Pattern Overview, Next: Using Shell Variables, Up: Patterns and Actions
@@ -9667,7 +9822,7 @@ statement with a nonzero argument, as shown in the following example:
systems.

-File: gawk.info, Node: Built-in Variables, Prev: Statements, Up: Patterns and Actions
+File: gawk.info, Node: Built-in Variables, Next: Pattern Action Summary, Prev: Statements, Up: Patterns and Actions
7.5 Built-in Variables
======================
@@ -10293,6 +10448,55 @@ are passed on to the `awk' program. (*Note Getopt Function::, for an
`awk' library function that parses command-line options.)

+File: gawk.info, Node: Pattern Action Summary, Prev: Built-in Variables, Up: Patterns and Actions
+
+7.6 Summary
+===========
+
+ * Pattern-action pairs make up the basic elements of an `awk'
+ program. Patterns are either normal expressions, range
+ expressions, regexp constants, one of the special keywords
+ `BEGIN', `END', `BEGINFILE', `ENDFILE', or empty. The action
+ executes if the current record matches the pattern. Empty
+ (missing) patterns match all records.
+
+ * I/O from `BEGIN' and `END' rules have certain constraints. This
+ is also true, only more so, for `BEGINFILE' and `ENDFILE' rules.
+ The latter two give you "hooks" into `gawk''s file processing,
+ allowing you to recover from a file that otherwise would cause a
+ fatal error (such as a file that cannot be opened).
+
+ * Shell variables can be used in `awk' programs by careful use of
+ shell quoting. It is easier to pass a shell variable into `awk'
+ by using the `-v' option and an `awk' variable.
+
+ * Actions consist of statements enclosed in curly braces. Statements
+ are built up from expressions, control statements, compound
+ statements, input and output statements, and deletion statements.
+
+ * The control statements in `awk' are `if'-`else', `while', `for',
+ and `do'-`while'. `gawk' adds the `switch' statement. There are
+ two flavors of `for' statement: one for for performing general
+ looping, and the other iterating through an array.
+
+ * `break' and `continue' let you exit early or start the next
+ iteration of a loop (or get out of a `switch').
+
+ * `next' and `nextfile' let you read the next record and start over
+ at the top of your program, or skip to the next input file and
+ start over, respectively.
+
+ * The `exit' statement terminates your program. When executed from
+ an action (or function body) it transfers control to the `END'
+ statements. From an `END' statement body, it exits immediately.
+ You may pass an optional numeric value to be used at `awk''s exit
+ status.
+
+ * Some built-in variables provide control over `awk', mainly for I/O.
+ Other variables convey information from `awk' to your program.
+
+
+
File: gawk.info, Node: Arrays, Next: Functions, Prev: Patterns and Actions, Up: Top
8 Arrays in `awk'
@@ -33411,468 +33615,472 @@ Node: Leftmost Longest176154
Node: Computed Regexps177355
Node: Regexp Summary180727
Node: Reading Files182199
-Node: Records184201
-Node: awk split records184944
-Node: gawk split records189802
-Ref: gawk split records-Footnote-1194323
-Node: Fields194360
-Ref: Fields-Footnote-1197324
-Node: Nonconstant Fields197410
-Ref: Nonconstant Fields-Footnote-1199640
-Node: Changing Fields199842
-Node: Field Separators205796
-Node: Default Field Splitting208498
-Node: Regexp Field Splitting209615
-Node: Single Character Fields212956
-Node: Command Line Field Separator214015
-Node: Full Line Fields217357
-Ref: Full Line Fields-Footnote-1217865
-Node: Field Splitting Summary217911
-Ref: Field Splitting Summary-Footnote-1221010
-Node: Constant Size221111
-Node: Splitting By Content225718
-Ref: Splitting By Content-Footnote-1229468
-Node: Multiple Line229508
-Ref: Multiple Line-Footnote-1235364
-Node: Getline235543
-Node: Plain Getline237759
-Node: Getline/Variable239854
-Node: Getline/File241001
-Node: Getline/Variable/File242377
-Ref: Getline/Variable/File-Footnote-1243976
-Node: Getline/Pipe244063
-Node: Getline/Variable/Pipe246762
-Node: Getline/Coprocess247869
-Node: Getline/Variable/Coprocess249121
-Node: Getline Notes249858
-Node: Getline Summary252662
-Ref: table-getline-variants253070
-Node: Read Timeout253982
-Ref: Read Timeout-Footnote-1257809
-Node: Command line directories257867
-Node: Printing258749
-Node: Print260373
-Node: Print Examples261714
-Node: Output Separators264493
-Node: OFMT266509
-Node: Printf267867
-Node: Basic Printf268773
-Node: Control Letters270312
-Node: Format Modifiers274166
-Node: Printf Examples280193
-Node: Redirection282900
-Node: Special Files289847
-Node: Special FD290363
-Ref: Special FD-Footnote-1293938
-Node: Special Network294012
-Node: Special Caveats294848
-Node: Close Files And Pipes295623
-Ref: Close Files And Pipes-Footnote-1302739
-Ref: Close Files And Pipes-Footnote-2302887
-Node: Expressions303037
-Node: Values304169
-Node: Constants304845
-Node: Scalar Constants305525
-Ref: Scalar Constants-Footnote-1306384
-Node: Nondecimal-numbers306634
-Node: Regexp Constants309634
-Node: Using Constant Regexps310109
-Node: Variables313179
-Node: Using Variables313834
-Node: Assignment Options315558
-Node: Conversion317425
-Ref: table-locale-affects322861
-Ref: Conversion-Footnote-1323485
-Node: All Operators323594
-Node: Arithmetic Ops324224
-Node: Concatenation326729
-Ref: Concatenation-Footnote-1329525
-Node: Assignment Ops329645
-Ref: table-assign-ops334628
-Node: Increment Ops335945
-Node: Truth Values and Conditions339383
-Node: Truth Values340466
-Node: Typing and Comparison341515
-Node: Variable Typing342308
-Ref: Variable Typing-Footnote-1346208
-Node: Comparison Operators346330
-Ref: table-relational-ops346740
-Node: POSIX String Comparison350290
-Ref: POSIX String Comparison-Footnote-1351374
-Node: Boolean Ops351512
-Ref: Boolean Ops-Footnote-1355582
-Node: Conditional Exp355673
-Node: Function Calls357400
-Node: Precedence361158
-Node: Locales364827
-Node: Patterns and Actions366430
-Node: Pattern Overview367484
-Node: Regexp Patterns369161
-Node: Expression Patterns369704
-Node: Ranges373485
-Node: BEGIN/END376591
-Node: Using BEGIN/END377353
-Ref: Using BEGIN/END-Footnote-1380089
-Node: I/O And BEGIN/END380195
-Node: BEGINFILE/ENDFILE382480
-Node: Empty385411
-Node: Using Shell Variables385728
-Node: Action Overview388011
-Node: Statements390338
-Node: If Statement392186
-Node: While Statement393684
-Node: Do Statement395728
-Node: For Statement396884
-Node: Switch Statement400036
-Node: Break Statement402139
-Node: Continue Statement404194
-Node: Next Statement405987
-Node: Nextfile Statement408377
-Node: Exit Statement411032
-Node: Built-in Variables413436
-Node: User-modified414532
-Ref: User-modified-Footnote-1422217
-Node: Auto-set422279
-Ref: Auto-set-Footnote-1435162
-Ref: Auto-set-Footnote-2435367
-Node: ARGC and ARGV435423
-Node: Arrays439262
-Node: Array Basics440760
-Node: Array Intro441586
-Ref: figure-array-elements443559
-Node: Reference to Elements445966
-Node: Assigning Elements448239
-Node: Array Example448730
-Node: Scanning an Array450462
-Node: Controlling Scanning453477
-Ref: Controlling Scanning-Footnote-1458650
-Node: Delete458966
-Ref: Delete-Footnote-1461731
-Node: Numeric Array Subscripts461788
-Node: Uninitialized Subscripts463971
-Node: Multidimensional465596
-Node: Multiscanning468689
-Node: Arrays of Arrays470278
-Node: Functions474918
-Node: Built-in475737
-Node: Calling Built-in476815
-Node: Numeric Functions478803
-Ref: Numeric Functions-Footnote-1482637
-Ref: Numeric Functions-Footnote-2482994
-Ref: Numeric Functions-Footnote-3483042
-Node: String Functions483311
-Ref: String Functions-Footnote-1506322
-Ref: String Functions-Footnote-2506451
-Ref: String Functions-Footnote-3506699
-Node: Gory Details506786
-Ref: table-sub-escapes508455
-Ref: table-sub-posix-92509809
-Ref: table-sub-proposed511160
-Ref: table-posix-sub512514
-Ref: table-gensub-escapes514059
-Ref: Gory Details-Footnote-1515235
-Ref: Gory Details-Footnote-2515286
-Node: I/O Functions515437
-Ref: I/O Functions-Footnote-1522560
-Node: Time Functions522707
-Ref: Time Functions-Footnote-1533171
-Ref: Time Functions-Footnote-2533239
-Ref: Time Functions-Footnote-3533397
-Ref: Time Functions-Footnote-4533508
-Ref: Time Functions-Footnote-5533620
-Ref: Time Functions-Footnote-6533847
-Node: Bitwise Functions534113
-Ref: table-bitwise-ops534675
-Ref: Bitwise Functions-Footnote-1538920
-Node: Type Functions539104
-Node: I18N Functions540246
-Node: User-defined541891
-Node: Definition Syntax542695
-Ref: Definition Syntax-Footnote-1547620
-Node: Function Example547689
-Ref: Function Example-Footnote-1550333
-Node: Function Caveats550355
-Node: Calling A Function550873
-Node: Variable Scope551828
-Node: Pass By Value/Reference554816
-Node: Return Statement558324
-Node: Dynamic Typing561308
-Node: Indirect Calls562237
-Node: Library Functions571924
-Ref: Library Functions-Footnote-1575437
-Ref: Library Functions-Footnote-2575580
-Node: Library Names575751
-Ref: Library Names-Footnote-1579224
-Ref: Library Names-Footnote-2579444
-Node: General Functions579530
-Node: Strtonum Function580558
-Node: Assert Function583488
-Node: Round Function586814
-Node: Cliff Random Function588355
-Node: Ordinal Functions589371
-Ref: Ordinal Functions-Footnote-1592448
-Ref: Ordinal Functions-Footnote-2592700
-Node: Join Function592911
-Ref: Join Function-Footnote-1594682
-Node: Getlocaltime Function594882
-Node: Readfile Function598618
-Node: Data File Management600457
-Node: Filetrans Function601089
-Node: Rewind Function605144
-Node: File Checking606531
-Ref: File Checking-Footnote-1607663
-Node: Empty Files607864
-Node: Ignoring Assigns610087
-Node: Getopt Function611618
-Ref: Getopt Function-Footnote-1622914
-Node: Passwd Functions623117
-Ref: Passwd Functions-Footnote-1632096
-Node: Group Functions632184
-Ref: Group Functions-Footnote-1640126
-Node: Walking Arrays640339
-Node: Sample Programs642475
-Node: Running Examples643149
-Node: Clones643877
-Node: Cut Program645101
-Node: Egrep Program654962
-Ref: Egrep Program-Footnote-1662891
-Node: Id Program663001
-Node: Split Program666665
-Ref: Split Program-Footnote-1670196
-Node: Tee Program670324
-Node: Uniq Program673131
-Node: Wc Program680561
-Ref: Wc Program-Footnote-1684829
-Ref: Wc Program-Footnote-2685029
-Node: Miscellaneous Programs685121
-Node: Dupword Program686309
-Node: Alarm Program688340
-Node: Translate Program693154
-Ref: Translate Program-Footnote-1697545
-Ref: Translate Program-Footnote-2697815
-Node: Labels Program697949
-Ref: Labels Program-Footnote-1701320
-Node: Word Sorting701404
-Node: History Sorting705447
-Node: Extract Program707283
-Ref: Extract Program-Footnote-1714858
-Node: Simple Sed714987
-Node: Igawk Program718049
-Ref: Igawk Program-Footnote-1733225
-Ref: Igawk Program-Footnote-2733426
-Node: Anagram Program733564
-Node: Signature Program736632
-Node: Advanced Features737879
-Node: Nondecimal Data739765
-Node: Array Sorting741342
-Node: Controlling Array Traversal742039
-Node: Array Sorting Functions750319
-Ref: Array Sorting Functions-Footnote-1754226
-Node: Two-way I/O754420
-Ref: Two-way I/O-Footnote-1759936
-Node: TCP/IP Networking760018
-Node: Profiling762862
-Node: Internationalization770370
-Node: I18N and L10N771795
-Node: Explaining gettext772481
-Ref: Explaining gettext-Footnote-1777621
-Ref: Explaining gettext-Footnote-2777805
-Node: Programmer i18n777970
-Node: Translator i18n782195
-Node: String Extraction782989
-Ref: String Extraction-Footnote-1783950
-Node: Printf Ordering784036
-Ref: Printf Ordering-Footnote-1786818
-Node: I18N Portability786882
-Ref: I18N Portability-Footnote-1789331
-Node: I18N Example789394
-Ref: I18N Example-Footnote-1792116
-Node: Gawk I18N792188
-Node: Debugger792801
-Node: Debugging793772
-Node: Debugging Concepts794213
-Node: Debugging Terms796069
-Node: Awk Debugging798666
-Node: Sample Debugging Session799558
-Node: Debugger Invocation800078
-Node: Finding The Bug801411
-Node: List of Debugger Commands807893
-Node: Breakpoint Control809225
-Node: Debugger Execution Control812889
-Node: Viewing And Changing Data816249
-Node: Execution Stack819607
-Node: Debugger Info821120
-Node: Miscellaneous Debugger Commands825114
-Node: Readline Support830298
-Node: Limitations831190
-Node: Arbitrary Precision Arithmetic833438
-Ref: Arbitrary Precision Arithmetic-Footnote-1835087
-Node: General Arithmetic835235
-Node: Floating Point Issues836955
-Node: String Conversion Precision837836
-Ref: String Conversion Precision-Footnote-1839541
-Node: Unexpected Results839650
-Node: POSIX Floating Point Problems841803
-Ref: POSIX Floating Point Problems-Footnote-1845624
-Node: Integer Programming845662
-Node: Floating-point Programming847473
-Ref: Floating-point Programming-Footnote-1853801
-Ref: Floating-point Programming-Footnote-2854071
-Node: Floating-point Representation854335
-Node: Floating-point Context855500
-Ref: table-ieee-formats856339
-Node: Rounding Mode857723
-Ref: table-rounding-modes858202
-Ref: Rounding Mode-Footnote-1861217
-Node: Gawk and MPFR861396
-Node: Arbitrary Precision Floats862805
-Ref: Arbitrary Precision Floats-Footnote-1865248
-Node: Setting Precision865569
-Ref: table-predefined-precision-strings866253
-Node: Setting Rounding Mode868398
-Ref: table-gawk-rounding-modes868802
-Node: Floating-point Constants869989
-Node: Changing Precision871441
-Ref: Changing Precision-Footnote-1872833
-Node: Exact Arithmetic873007
-Node: Arbitrary Precision Integers876141
-Ref: Arbitrary Precision Integers-Footnote-1879156
-Node: Dynamic Extensions879303
-Node: Extension Intro880761
-Node: Plugin License882026
-Node: Extension Mechanism Outline882711
-Ref: figure-load-extension883135
-Ref: figure-load-new-function884620
-Ref: figure-call-new-function885622
-Node: Extension API Description887606
-Node: Extension API Functions Introduction889056
-Node: General Data Types893922
-Ref: General Data Types-Footnote-1899615
-Node: Requesting Values899914
-Ref: table-value-types-returned900651
-Node: Memory Allocation Functions901609
-Ref: Memory Allocation Functions-Footnote-1904356
-Node: Constructor Functions904452
-Node: Registration Functions906210
-Node: Extension Functions906895
-Node: Exit Callback Functions909197
-Node: Extension Version String910447
-Node: Input Parsers911097
-Node: Output Wrappers920900
-Node: Two-way processors925416
-Node: Printing Messages927620
-Ref: Printing Messages-Footnote-1928697
-Node: Updating `ERRNO'928849
-Node: Accessing Parameters929588
-Node: Symbol Table Access930818
-Node: Symbol table by name931332
-Node: Symbol table by cookie933308
-Ref: Symbol table by cookie-Footnote-1937441
-Node: Cached values937504
-Ref: Cached values-Footnote-1941009
-Node: Array Manipulation941100
-Ref: Array Manipulation-Footnote-1942198
-Node: Array Data Types942237
-Ref: Array Data Types-Footnote-1944940
-Node: Array Functions945032
-Node: Flattening Arrays948906
-Node: Creating Arrays955758
-Node: Extension API Variables960489
-Node: Extension Versioning961125
-Node: Extension API Informational Variables963026
-Node: Extension API Boilerplate964112
-Node: Finding Extensions967916
-Node: Extension Example968476
-Node: Internal File Description969206
-Node: Internal File Ops973297
-Ref: Internal File Ops-Footnote-1984843
-Node: Using Internal File Ops984983
-Ref: Using Internal File Ops-Footnote-1987330
-Node: Extension Samples987598
-Node: Extension Sample File Functions989122
-Node: Extension Sample Fnmatch996690
-Node: Extension Sample Fork998157
-Node: Extension Sample Inplace999370
-Node: Extension Sample Ord1001136
-Node: Extension Sample Readdir1001972
-Ref: table-readdir-file-types1002821
-Node: Extension Sample Revout1003620
-Node: Extension Sample Rev2way1004211
-Node: Extension Sample Read write array1004952
-Node: Extension Sample Readfile1006831
-Node: Extension Sample API Tests1007931
-Node: Extension Sample Time1008456
-Node: gawkextlib1009771
-Node: Language History1012558
-Node: V7/SVR3.11014152
-Node: SVR41016472
-Node: POSIX1017914
-Node: BTL1019300
-Node: POSIX/GNU1020034
-Node: Feature History1025633
-Node: Common Extensions1038745
-Node: Ranges and Locales1040057
-Ref: Ranges and Locales-Footnote-11044674
-Ref: Ranges and Locales-Footnote-21044701
-Ref: Ranges and Locales-Footnote-31044935
-Node: Contributors1045156
-Node: Installation1050594
-Node: Gawk Distribution1051488
-Node: Getting1051972
-Node: Extracting1052798
-Node: Distribution contents1054440
-Node: Unix Installation1060157
-Node: Quick Installation1060774
-Node: Additional Configuration Options1063216
-Node: Configuration Philosophy1064954
-Node: Non-Unix Installation1067305
-Node: PC Installation1067763
-Node: PC Binary Installation1069074
-Node: PC Compiling1070922
-Ref: PC Compiling-Footnote-11073921
-Node: PC Testing1074026
-Node: PC Using1075202
-Node: Cygwin1079360
-Node: MSYS1080169
-Node: VMS Installation1080683
-Node: VMS Compilation1081479
-Ref: VMS Compilation-Footnote-11082694
-Node: VMS Dynamic Extensions1082752
-Node: VMS Installation Details1084125
-Node: VMS Running1086371
-Node: VMS GNV1089205
-Node: VMS Old Gawk1089928
-Node: Bugs1090398
-Node: Other Versions1094402
-Node: Notes1100627
-Node: Compatibility Mode1101427
-Node: Additions1102209
-Node: Accessing The Source1103134
-Node: Adding Code1104570
-Node: New Ports1110748
-Node: Derived Files1115229
-Ref: Derived Files-Footnote-11120310
-Ref: Derived Files-Footnote-21120344
-Ref: Derived Files-Footnote-31120940
-Node: Future Extensions1121054
-Node: Implementation Limitations1121660
-Node: Extension Design1122908
-Node: Old Extension Problems1124062
-Ref: Old Extension Problems-Footnote-11125579
-Node: Extension New Mechanism Goals1125636
-Ref: Extension New Mechanism Goals-Footnote-11128997
-Node: Extension Other Design Decisions1129186
-Node: Extension Future Growth1131292
-Node: Old Extension Mechanism1132128
-Node: Basic Concepts1133868
-Node: Basic High Level1134549
-Ref: figure-general-flow1134821
-Ref: figure-process-flow1135420
-Ref: Basic High Level-Footnote-11138649
-Node: Basic Data Typing1138834
-Node: Glossary1142161
-Node: Copying1167313
-Node: GNU Free Documentation License1204869
-Node: Index1230005
+Node: Records184248
+Node: awk split records184991
+Node: gawk split records189849
+Ref: gawk split records-Footnote-1194370
+Node: Fields194407
+Ref: Fields-Footnote-1197371
+Node: Nonconstant Fields197457
+Ref: Nonconstant Fields-Footnote-1199687
+Node: Changing Fields199889
+Node: Field Separators205843
+Node: Default Field Splitting208545
+Node: Regexp Field Splitting209662
+Node: Single Character Fields213003
+Node: Command Line Field Separator214062
+Node: Full Line Fields217404
+Ref: Full Line Fields-Footnote-1217912
+Node: Field Splitting Summary217958
+Ref: Field Splitting Summary-Footnote-1221057
+Node: Constant Size221158
+Node: Splitting By Content225765
+Ref: Splitting By Content-Footnote-1229515
+Node: Multiple Line229555
+Ref: Multiple Line-Footnote-1235411
+Node: Getline235590
+Node: Plain Getline237806
+Node: Getline/Variable239901
+Node: Getline/File241048
+Node: Getline/Variable/File242424
+Ref: Getline/Variable/File-Footnote-1244023
+Node: Getline/Pipe244110
+Node: Getline/Variable/Pipe246809
+Node: Getline/Coprocess247916
+Node: Getline/Variable/Coprocess249168
+Node: Getline Notes249905
+Node: Getline Summary252709
+Ref: table-getline-variants253117
+Node: Read Timeout254029
+Ref: Read Timeout-Footnote-1257856
+Node: Command line directories257914
+Node: Input Summary258818
+Node: Printing261932
+Node: Print263604
+Node: Print Examples264945
+Node: Output Separators267724
+Node: OFMT269740
+Node: Printf271098
+Node: Basic Printf272004
+Node: Control Letters273543
+Node: Format Modifiers277397
+Node: Printf Examples283424
+Node: Redirection286131
+Node: Special Files293078
+Node: Special FD293594
+Ref: Special FD-Footnote-1297169
+Node: Special Network297243
+Node: Special Caveats298079
+Node: Close Files And Pipes298854
+Ref: Close Files And Pipes-Footnote-1305993
+Ref: Close Files And Pipes-Footnote-2306141
+Node: Output Summary306291
+Node: Expressions307263
+Node: Values308448
+Node: Constants309124
+Node: Scalar Constants309804
+Ref: Scalar Constants-Footnote-1310663
+Node: Nondecimal-numbers310913
+Node: Regexp Constants313913
+Node: Using Constant Regexps314388
+Node: Variables317458
+Node: Using Variables318113
+Node: Assignment Options319837
+Node: Conversion321704
+Ref: table-locale-affects327140
+Ref: Conversion-Footnote-1327764
+Node: All Operators327873
+Node: Arithmetic Ops328503
+Node: Concatenation331008
+Ref: Concatenation-Footnote-1333804
+Node: Assignment Ops333924
+Ref: table-assign-ops338907
+Node: Increment Ops340224
+Node: Truth Values and Conditions343662
+Node: Truth Values344745
+Node: Typing and Comparison345794
+Node: Variable Typing346587
+Ref: Variable Typing-Footnote-1350487
+Node: Comparison Operators350609
+Ref: table-relational-ops351019
+Node: POSIX String Comparison354569
+Ref: POSIX String Comparison-Footnote-1355653
+Node: Boolean Ops355791
+Ref: Boolean Ops-Footnote-1359861
+Node: Conditional Exp359952
+Node: Function Calls361679
+Node: Precedence365437
+Node: Locales369106
+Node: Expressions Summary370737
+Node: Patterns and Actions373234
+Node: Pattern Overview374350
+Node: Regexp Patterns376027
+Node: Expression Patterns376570
+Node: Ranges380351
+Node: BEGIN/END383457
+Node: Using BEGIN/END384219
+Ref: Using BEGIN/END-Footnote-1386955
+Node: I/O And BEGIN/END387061
+Node: BEGINFILE/ENDFILE389346
+Node: Empty392277
+Node: Using Shell Variables392594
+Node: Action Overview394877
+Node: Statements397204
+Node: If Statement399052
+Node: While Statement400550
+Node: Do Statement402594
+Node: For Statement403750
+Node: Switch Statement406902
+Node: Break Statement409005
+Node: Continue Statement411060
+Node: Next Statement412853
+Node: Nextfile Statement415243
+Node: Exit Statement417898
+Node: Built-in Variables420302
+Node: User-modified421429
+Ref: User-modified-Footnote-1429114
+Node: Auto-set429176
+Ref: Auto-set-Footnote-1442059
+Ref: Auto-set-Footnote-2442264
+Node: ARGC and ARGV442320
+Node: Pattern Action Summary446159
+Node: Arrays448382
+Node: Array Basics449880
+Node: Array Intro450706
+Ref: figure-array-elements452679
+Node: Reference to Elements455086
+Node: Assigning Elements457359
+Node: Array Example457850
+Node: Scanning an Array459582
+Node: Controlling Scanning462597
+Ref: Controlling Scanning-Footnote-1467770
+Node: Delete468086
+Ref: Delete-Footnote-1470851
+Node: Numeric Array Subscripts470908
+Node: Uninitialized Subscripts473091
+Node: Multidimensional474716
+Node: Multiscanning477809
+Node: Arrays of Arrays479398
+Node: Functions484038
+Node: Built-in484857
+Node: Calling Built-in485935
+Node: Numeric Functions487923
+Ref: Numeric Functions-Footnote-1491757
+Ref: Numeric Functions-Footnote-2492114
+Ref: Numeric Functions-Footnote-3492162
+Node: String Functions492431
+Ref: String Functions-Footnote-1515442
+Ref: String Functions-Footnote-2515571
+Ref: String Functions-Footnote-3515819
+Node: Gory Details515906
+Ref: table-sub-escapes517575
+Ref: table-sub-posix-92518929
+Ref: table-sub-proposed520280
+Ref: table-posix-sub521634
+Ref: table-gensub-escapes523179
+Ref: Gory Details-Footnote-1524355
+Ref: Gory Details-Footnote-2524406
+Node: I/O Functions524557
+Ref: I/O Functions-Footnote-1531680
+Node: Time Functions531827
+Ref: Time Functions-Footnote-1542291
+Ref: Time Functions-Footnote-2542359
+Ref: Time Functions-Footnote-3542517
+Ref: Time Functions-Footnote-4542628
+Ref: Time Functions-Footnote-5542740
+Ref: Time Functions-Footnote-6542967
+Node: Bitwise Functions543233
+Ref: table-bitwise-ops543795
+Ref: Bitwise Functions-Footnote-1548040
+Node: Type Functions548224
+Node: I18N Functions549366
+Node: User-defined551011
+Node: Definition Syntax551815
+Ref: Definition Syntax-Footnote-1556740
+Node: Function Example556809
+Ref: Function Example-Footnote-1559453
+Node: Function Caveats559475
+Node: Calling A Function559993
+Node: Variable Scope560948
+Node: Pass By Value/Reference563936
+Node: Return Statement567444
+Node: Dynamic Typing570428
+Node: Indirect Calls571357
+Node: Library Functions581044
+Ref: Library Functions-Footnote-1584557
+Ref: Library Functions-Footnote-2584700
+Node: Library Names584871
+Ref: Library Names-Footnote-1588344
+Ref: Library Names-Footnote-2588564
+Node: General Functions588650
+Node: Strtonum Function589678
+Node: Assert Function592608
+Node: Round Function595934
+Node: Cliff Random Function597475
+Node: Ordinal Functions598491
+Ref: Ordinal Functions-Footnote-1601568
+Ref: Ordinal Functions-Footnote-2601820
+Node: Join Function602031
+Ref: Join Function-Footnote-1603802
+Node: Getlocaltime Function604002
+Node: Readfile Function607738
+Node: Data File Management609577
+Node: Filetrans Function610209
+Node: Rewind Function614264
+Node: File Checking615651
+Ref: File Checking-Footnote-1616783
+Node: Empty Files616984
+Node: Ignoring Assigns619207
+Node: Getopt Function620738
+Ref: Getopt Function-Footnote-1632034
+Node: Passwd Functions632237
+Ref: Passwd Functions-Footnote-1641216
+Node: Group Functions641304
+Ref: Group Functions-Footnote-1649246
+Node: Walking Arrays649459
+Node: Sample Programs651595
+Node: Running Examples652269
+Node: Clones652997
+Node: Cut Program654221
+Node: Egrep Program664082
+Ref: Egrep Program-Footnote-1672011
+Node: Id Program672121
+Node: Split Program675785
+Ref: Split Program-Footnote-1679316
+Node: Tee Program679444
+Node: Uniq Program682251
+Node: Wc Program689681
+Ref: Wc Program-Footnote-1693949
+Ref: Wc Program-Footnote-2694149
+Node: Miscellaneous Programs694241
+Node: Dupword Program695429
+Node: Alarm Program697460
+Node: Translate Program702274
+Ref: Translate Program-Footnote-1706665
+Ref: Translate Program-Footnote-2706935
+Node: Labels Program707069
+Ref: Labels Program-Footnote-1710440
+Node: Word Sorting710524
+Node: History Sorting714567
+Node: Extract Program716403
+Ref: Extract Program-Footnote-1723978
+Node: Simple Sed724107
+Node: Igawk Program727169
+Ref: Igawk Program-Footnote-1742345
+Ref: Igawk Program-Footnote-2742546
+Node: Anagram Program742684
+Node: Signature Program745752
+Node: Advanced Features746999
+Node: Nondecimal Data748885
+Node: Array Sorting750462
+Node: Controlling Array Traversal751159
+Node: Array Sorting Functions759439
+Ref: Array Sorting Functions-Footnote-1763346
+Node: Two-way I/O763540
+Ref: Two-way I/O-Footnote-1769056
+Node: TCP/IP Networking769138
+Node: Profiling771982
+Node: Internationalization779490
+Node: I18N and L10N780915
+Node: Explaining gettext781601
+Ref: Explaining gettext-Footnote-1786741
+Ref: Explaining gettext-Footnote-2786925
+Node: Programmer i18n787090
+Node: Translator i18n791315
+Node: String Extraction792109
+Ref: String Extraction-Footnote-1793070
+Node: Printf Ordering793156
+Ref: Printf Ordering-Footnote-1795938
+Node: I18N Portability796002
+Ref: I18N Portability-Footnote-1798451
+Node: I18N Example798514
+Ref: I18N Example-Footnote-1801236
+Node: Gawk I18N801308
+Node: Debugger801921
+Node: Debugging802892
+Node: Debugging Concepts803333
+Node: Debugging Terms805189
+Node: Awk Debugging807786
+Node: Sample Debugging Session808678
+Node: Debugger Invocation809198
+Node: Finding The Bug810531
+Node: List of Debugger Commands817013
+Node: Breakpoint Control818345
+Node: Debugger Execution Control822009
+Node: Viewing And Changing Data825369
+Node: Execution Stack828727
+Node: Debugger Info830240
+Node: Miscellaneous Debugger Commands834234
+Node: Readline Support839418
+Node: Limitations840310
+Node: Arbitrary Precision Arithmetic842558
+Ref: Arbitrary Precision Arithmetic-Footnote-1844207
+Node: General Arithmetic844355
+Node: Floating Point Issues846075
+Node: String Conversion Precision846956
+Ref: String Conversion Precision-Footnote-1848661
+Node: Unexpected Results848770
+Node: POSIX Floating Point Problems850923
+Ref: POSIX Floating Point Problems-Footnote-1854744
+Node: Integer Programming854782
+Node: Floating-point Programming856593
+Ref: Floating-point Programming-Footnote-1862921
+Ref: Floating-point Programming-Footnote-2863191
+Node: Floating-point Representation863455
+Node: Floating-point Context864620
+Ref: table-ieee-formats865459
+Node: Rounding Mode866843
+Ref: table-rounding-modes867322
+Ref: Rounding Mode-Footnote-1870337
+Node: Gawk and MPFR870516
+Node: Arbitrary Precision Floats871925
+Ref: Arbitrary Precision Floats-Footnote-1874368
+Node: Setting Precision874689
+Ref: table-predefined-precision-strings875373
+Node: Setting Rounding Mode877518
+Ref: table-gawk-rounding-modes877922
+Node: Floating-point Constants879109
+Node: Changing Precision880561
+Ref: Changing Precision-Footnote-1881953
+Node: Exact Arithmetic882127
+Node: Arbitrary Precision Integers885261
+Ref: Arbitrary Precision Integers-Footnote-1888276
+Node: Dynamic Extensions888423
+Node: Extension Intro889881
+Node: Plugin License891146
+Node: Extension Mechanism Outline891831
+Ref: figure-load-extension892255
+Ref: figure-load-new-function893740
+Ref: figure-call-new-function894742
+Node: Extension API Description896726
+Node: Extension API Functions Introduction898176
+Node: General Data Types903042
+Ref: General Data Types-Footnote-1908735
+Node: Requesting Values909034
+Ref: table-value-types-returned909771
+Node: Memory Allocation Functions910729
+Ref: Memory Allocation Functions-Footnote-1913476
+Node: Constructor Functions913572
+Node: Registration Functions915330
+Node: Extension Functions916015
+Node: Exit Callback Functions918317
+Node: Extension Version String919567
+Node: Input Parsers920217
+Node: Output Wrappers930020
+Node: Two-way processors934536
+Node: Printing Messages936740
+Ref: Printing Messages-Footnote-1937817
+Node: Updating `ERRNO'937969
+Node: Accessing Parameters938708
+Node: Symbol Table Access939938
+Node: Symbol table by name940452
+Node: Symbol table by cookie942428
+Ref: Symbol table by cookie-Footnote-1946561
+Node: Cached values946624
+Ref: Cached values-Footnote-1950129
+Node: Array Manipulation950220
+Ref: Array Manipulation-Footnote-1951318
+Node: Array Data Types951357
+Ref: Array Data Types-Footnote-1954060
+Node: Array Functions954152
+Node: Flattening Arrays958026
+Node: Creating Arrays964878
+Node: Extension API Variables969609
+Node: Extension Versioning970245
+Node: Extension API Informational Variables972146
+Node: Extension API Boilerplate973232
+Node: Finding Extensions977036
+Node: Extension Example977596
+Node: Internal File Description978326
+Node: Internal File Ops982417
+Ref: Internal File Ops-Footnote-1993963
+Node: Using Internal File Ops994103
+Ref: Using Internal File Ops-Footnote-1996450
+Node: Extension Samples996718
+Node: Extension Sample File Functions998242
+Node: Extension Sample Fnmatch1005810
+Node: Extension Sample Fork1007277
+Node: Extension Sample Inplace1008490
+Node: Extension Sample Ord1010256
+Node: Extension Sample Readdir1011092
+Ref: table-readdir-file-types1011941
+Node: Extension Sample Revout1012740
+Node: Extension Sample Rev2way1013331
+Node: Extension Sample Read write array1014072
+Node: Extension Sample Readfile1015951
+Node: Extension Sample API Tests1017051
+Node: Extension Sample Time1017576
+Node: gawkextlib1018891
+Node: Language History1021678
+Node: V7/SVR3.11023272
+Node: SVR41025592
+Node: POSIX1027034
+Node: BTL1028420
+Node: POSIX/GNU1029154
+Node: Feature History1034753
+Node: Common Extensions1047865
+Node: Ranges and Locales1049177
+Ref: Ranges and Locales-Footnote-11053794
+Ref: Ranges and Locales-Footnote-21053821
+Ref: Ranges and Locales-Footnote-31054055
+Node: Contributors1054276
+Node: Installation1059714
+Node: Gawk Distribution1060608
+Node: Getting1061092
+Node: Extracting1061918
+Node: Distribution contents1063560
+Node: Unix Installation1069277
+Node: Quick Installation1069894
+Node: Additional Configuration Options1072336
+Node: Configuration Philosophy1074074
+Node: Non-Unix Installation1076425
+Node: PC Installation1076883
+Node: PC Binary Installation1078194
+Node: PC Compiling1080042
+Ref: PC Compiling-Footnote-11083041
+Node: PC Testing1083146
+Node: PC Using1084322
+Node: Cygwin1088480
+Node: MSYS1089289
+Node: VMS Installation1089803
+Node: VMS Compilation1090599
+Ref: VMS Compilation-Footnote-11091814
+Node: VMS Dynamic Extensions1091872
+Node: VMS Installation Details1093245
+Node: VMS Running1095491
+Node: VMS GNV1098325
+Node: VMS Old Gawk1099048
+Node: Bugs1099518
+Node: Other Versions1103522
+Node: Notes1109747
+Node: Compatibility Mode1110547
+Node: Additions1111329
+Node: Accessing The Source1112254
+Node: Adding Code1113690
+Node: New Ports1119868
+Node: Derived Files1124349
+Ref: Derived Files-Footnote-11129430
+Ref: Derived Files-Footnote-21129464
+Ref: Derived Files-Footnote-31130060
+Node: Future Extensions1130174
+Node: Implementation Limitations1130780
+Node: Extension Design1132028
+Node: Old Extension Problems1133182
+Ref: Old Extension Problems-Footnote-11134699
+Node: Extension New Mechanism Goals1134756
+Ref: Extension New Mechanism Goals-Footnote-11138117
+Node: Extension Other Design Decisions1138306
+Node: Extension Future Growth1140412
+Node: Old Extension Mechanism1141248
+Node: Basic Concepts1142988
+Node: Basic High Level1143669
+Ref: figure-general-flow1143941
+Ref: figure-process-flow1144540
+Ref: Basic High Level-Footnote-11147769
+Node: Basic Data Typing1147954
+Node: Glossary1151281
+Node: Copying1176433
+Node: GNU Free Documentation License1213989
+Node: Index1239125

End Tag Table