aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info1155
1 files changed, 579 insertions, 576 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index aacd68ed..513be76b 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -5586,98 +5586,102 @@ each of the lines into fields in the normal manner. This happens by
default as the result of a special feature. When 'RS' is set to the
empty string _and_ 'FS' is set to a single character, the newline
character _always_ acts as a field separator. This is in addition to
-whatever field separations result from 'FS'.(1)
-
- The original motivation for this special exception was probably to
-provide useful behavior in the default case (i.e., 'FS' is equal to
-'" "'). This feature can be a problem if you really don't want the
-newline character to separate fields, because there is no way to prevent
-it. However, you can work around this by using the 'split()' function
-to break up the record manually (*note String Functions::). If you have
-a single-character field separator, you can work around the special
-feature in a different way, by making 'FS' into a regexp for that single
-character. For example, if the field separator is a percent character,
-instead of 'FS = "%"', use 'FS = "[%]"'.
-
- Another way to separate fields is to put each field on a separate
-line: to do this, just set the variable 'FS' to the string '"\n"'.
-(This single-character separator matches a single newline.) A practical
-example of a data file organized this way might be a mailing list, where
-blank lines separate the entries. Consider a mailing list in a file
-named 'addresses', which looks like this:
-
- Jane Doe
- 123 Main Street
- Anywhere, SE 12345-6789
-
- John Smith
- 456 Tree-lined Avenue
- Smallville, MW 98765-4321
- ...
-
-A simple program to process this file is as follows:
-
- # addrs.awk --- simple mailing list program
+whatever field separations result from 'FS'.
+
+ NOTE: When 'FS' is the null string ('""') or a regexp, this special
+ feature of 'RS' does not apply. It does apply to the default field
+ separator of a single space: 'FS = " "'.
+
+ Note that language in the POSIX specification implies that this
+ special feature should apply when 'FS' is a regexp. However, Unix
+ 'awk' has never behaved that way, nor has 'gawk'. This is
+ essentially a bug in POSIX.
+
+ The original motivation for this special exception was probably to
+ provide useful behavior in the default case (i.e., 'FS' is equal to
+ '" "'). This feature can be a problem if you really don't want the
+ newline character to separate fields, because there is no way to
+ prevent it. However, you can work around this by using the
+ 'split()' function to break up the record manually (*note String
+ Functions::). If you have a single-character field separator, you
+ can work around the special feature in a different way, by making
+ 'FS' into a regexp for that single character. For example, if the
+ field separator is a percent character, instead of 'FS = "%"', use
+ 'FS = "[%]"'.
+
+ Another way to separate fields is to put each field on a separate
+ line: to do this, just set the variable 'FS' to the string '"\n"'.
+ (This single-character separator matches a single newline.) A
+ practical example of a data file organized this way might be a
+ mailing list, where blank lines separate the entries. Consider a
+ mailing list in a file named 'addresses', which looks like this:
+
+ Jane Doe
+ 123 Main Street
+ Anywhere, SE 12345-6789
+
+ John Smith
+ 456 Tree-lined Avenue
+ Smallville, MW 98765-4321
+ ...
- # Records are separated by blank lines.
- # Each line is one field.
- BEGIN { RS = "" ; FS = "\n" }
+ A simple program to process this file is as follows:
- {
- print "Name is:", $1
- print "Address is:", $2
- print "City and State are:", $3
- print ""
- }
+ # addrs.awk --- simple mailing list program
- Running the program produces the following output:
+ # Records are separated by blank lines.
+ # Each line is one field.
+ BEGIN { RS = "" ; FS = "\n" }
- $ awk -f addrs.awk addresses
- -| Name is: Jane Doe
- -| Address is: 123 Main Street
- -| City and State are: Anywhere, SE 12345-6789
- -|
- -| Name is: John Smith
- -| Address is: 456 Tree-lined Avenue
- -| City and State are: Smallville, MW 98765-4321
- -|
- ...
+ {
+ print "Name is:", $1
+ print "Address is:", $2
+ print "City and State are:", $3
+ print ""
+ }
- *Note Labels Program:: for a more realistic program dealing with
-address lists. The following list summarizes how records are split,
-based on the value of 'RS'. ('==' means "is equal to.")
+ Running the program produces the following output:
-'RS == "\n"'
- Records are separated by the newline character ('\n'). In effect,
- every line in the data file is a separate record, including blank
- lines. This is the default.
+ $ awk -f addrs.awk addresses
+ -| Name is: Jane Doe
+ -| Address is: 123 Main Street
+ -| City and State are: Anywhere, SE 12345-6789
+ -|
+ -| Name is: John Smith
+ -| Address is: 456 Tree-lined Avenue
+ -| City and State are: Smallville, MW 98765-4321
+ -|
+ ...
-'RS == ANY SINGLE CHARACTER'
- Records are separated by each occurrence of the character.
- Multiple successive occurrences delimit empty records.
+ *Note Labels Program:: for a more realistic program dealing with
+ address lists. The following list summarizes how records are
+ split, based on the value of 'RS'. ('==' means "is equal to.")
-'RS == ""'
- Records are separated by runs of blank lines. When 'FS' is a
- single character, then the newline character always serves as a
- field separator, in addition to whatever value 'FS' may have.
- Leading and trailing newlines in a file are ignored.
+ 'RS == "\n"'
+ Records are separated by the newline character ('\n'). In
+ effect, every line in the data file is a separate record,
+ including blank lines. This is the default.
-'RS == REGEXP'
- Records are separated by occurrences of characters that match
- REGEXP. Leading and trailing matches of REGEXP delimit empty
- records. (This is a 'gawk' extension; it is not specified by the
- POSIX standard.)
+ 'RS == ANY SINGLE CHARACTER'
+ Records are separated by each occurrence of the character.
+ Multiple successive occurrences delimit empty records.
- If not in compatibility mode (*note Options::), 'gawk' sets 'RT' to
-the input text that matched the value specified by 'RS'. But if the
-input file ended without any text that matches 'RS', then 'gawk' sets
-'RT' to the null string.
+ 'RS == ""'
+ Records are separated by runs of blank lines. When 'FS' is a
+ single character, then the newline character always serves as
+ a field separator, in addition to whatever value 'FS' may
+ have. Leading and trailing newlines in a file are ignored.
- ---------- Footnotes ----------
+ 'RS == REGEXP'
+ Records are separated by occurrences of characters that match
+ REGEXP. Leading and trailing matches of REGEXP delimit empty
+ records. (This is a 'gawk' extension; it is not specified by
+ the POSIX standard.)
- (1) When 'FS' is the null string ('""') or a regexp, this special
-feature of 'RS' does not apply. It does apply to the default field
-separator of a single space: 'FS = " "'.
+ If not in compatibility mode (*note Options::), 'gawk' sets 'RT' to
+ the input text that matched the value specified by 'RS'. But if
+ the input file ended without any text that matches 'RS', then
+ 'gawk' sets 'RT' to the null string.

File: gawk.info, Node: Getline, Next: Read Timeout, Prev: Multiple Line, Up: Reading Files
@@ -34786,7 +34790,7 @@ Index
* differences in awk and gawk, RS/RT variables <1>: gawk split records.
(line 58)
* differences in awk and gawk, RS/RT variables <2>: Multiple Line.
- (line 130)
+ (line 140)
* differences in awk and gawk, RS/RT variables <3>: Auto-set. (line 348)
* differences in awk and gawk, single-character fields: Single Character Fields.
(line 6)
@@ -35314,7 +35318,7 @@ Index
(line 136)
* gawk, RT variable in: awk split records. (line 131)
* gawk, RT variable in <1>: gawk split records. (line 58)
-* gawk, RT variable in <2>: Multiple Line. (line 130)
+* gawk, RT variable in <2>: Multiple Line. (line 140)
* gawk, RT variable in <3>: Auto-set. (line 348)
* gawk, See Also awk: Preface. (line 34)
* gawk, source code, obtaining: Getting. (line 6)
@@ -36348,7 +36352,7 @@ Index
* RSTART variable, match() function and: String Functions. (line 228)
* RT variable: awk split records. (line 131)
* RT variable <1>: gawk split records. (line 58)
-* RT variable <2>: Multiple Line. (line 130)
+* RT variable <2>: Multiple Line. (line 140)
* RT variable <3>: Auto-set. (line 348)
* Rubin, Paul: History. (line 30)
* Rubin, Paul <1>: Contributors. (line 16)
@@ -36980,498 +36984,497 @@ Node: Splitting By Content243260
Ref: Splitting By Content-Footnote-1246910
Node: Testing field creation247073
Node: Multiple Line248698
-Ref: Multiple Line-Footnote-1254582
-Node: Getline254761
-Node: Plain Getline257230
-Node: Getline/Variable259871
-Node: Getline/File261022
-Node: Getline/Variable/File262410
-Ref: Getline/Variable/File-Footnote-1264015
-Node: Getline/Pipe264103
-Node: Getline/Variable/Pipe266810
-Node: Getline/Coprocess267945
-Node: Getline/Variable/Coprocess269212
-Node: Getline Notes269954
-Node: Getline Summary272751
-Ref: table-getline-variants273175
-Node: Read Timeout273923
-Ref: Read Timeout-Footnote-1277829
-Node: Retrying Input277887
-Node: Command-line directories279086
-Node: Input Summary279992
-Node: Input Exercises283164
-Node: Printing283892
-Node: Print285726
-Node: Print Examples287183
-Node: Output Separators289963
-Node: OFMT291980
-Node: Printf293336
-Node: Basic Printf294121
-Node: Control Letters295695
-Node: Format Modifiers300859
-Node: Printf Examples306874
-Node: Redirection309360
-Node: Special FD316201
-Ref: Special FD-Footnote-1319369
-Node: Special Files319443
-Node: Other Inherited Files320060
-Node: Special Network321061
-Node: Special Caveats321921
-Node: Close Files And Pipes322870
-Ref: table-close-pipe-return-values329777
-Ref: Close Files And Pipes-Footnote-1330590
-Ref: Close Files And Pipes-Footnote-2330738
-Node: Nonfatal330890
-Node: Output Summary333228
-Node: Output Exercises334450
-Node: Expressions335129
-Node: Values336317
-Node: Constants336995
-Node: Scalar Constants337686
-Ref: Scalar Constants-Footnote-1340210
-Node: Nondecimal-numbers340460
-Node: Regexp Constants343461
-Node: Using Constant Regexps343987
-Node: Standard Regexp Constants344609
-Node: Strong Regexp Constants347797
-Node: Variables350755
-Node: Using Variables351412
-Node: Assignment Options353322
-Node: Conversion355789
-Node: Strings And Numbers356313
-Ref: Strings And Numbers-Footnote-1359376
-Node: Locale influences conversions359485
-Ref: table-locale-affects362243
-Node: All Operators362861
-Node: Arithmetic Ops363490
-Node: Concatenation365996
-Ref: Concatenation-Footnote-1368843
-Node: Assignment Ops368950
-Ref: table-assign-ops373941
-Node: Increment Ops375254
-Node: Truth Values and Conditions378714
-Node: Truth Values379788
-Node: Typing and Comparison380836
-Node: Variable Typing381656
-Ref: Variable Typing-Footnote-1388119
-Ref: Variable Typing-Footnote-2388191
-Node: Comparison Operators388268
-Ref: table-relational-ops388687
-Node: POSIX String Comparison392182
-Ref: POSIX String Comparison-Footnote-1393877
-Ref: POSIX String Comparison-Footnote-2394016
-Node: Boolean Ops394100
-Ref: Boolean Ops-Footnote-1398582
-Node: Conditional Exp398674
-Node: Function Calls400410
-Node: Precedence404287
-Node: Locales407946
-Node: Expressions Summary409578
-Node: Patterns and Actions412151
-Node: Pattern Overview413271
-Node: Regexp Patterns414948
-Node: Expression Patterns415490
-Node: Ranges419271
-Node: BEGIN/END422379
-Node: Using BEGIN/END423140
-Ref: Using BEGIN/END-Footnote-1425876
-Node: I/O And BEGIN/END425982
-Node: BEGINFILE/ENDFILE428296
-Node: Empty431209
-Node: Using Shell Variables431526
-Node: Action Overview433800
-Node: Statements436125
-Node: If Statement437973
-Node: While Statement439468
-Node: Do Statement441496
-Node: For Statement442644
-Node: Switch Statement445815
-Node: Break Statement448201
-Node: Continue Statement450293
-Node: Next Statement452120
-Node: Nextfile Statement454503
-Node: Exit Statement457155
-Node: Built-in Variables459558
-Node: User-modified460691
-Node: Auto-set468458
-Ref: Auto-set-Footnote-1485265
-Ref: Auto-set-Footnote-2485471
-Node: ARGC and ARGV485527
-Node: Pattern Action Summary489740
-Node: Arrays492170
-Node: Array Basics493499
-Node: Array Intro494343
-Ref: figure-array-elements496318
-Ref: Array Intro-Footnote-1499022
-Node: Reference to Elements499150
-Node: Assigning Elements501614
-Node: Array Example502105
-Node: Scanning an Array503864
-Node: Controlling Scanning506886
-Ref: Controlling Scanning-Footnote-1512285
-Node: Numeric Array Subscripts512601
-Node: Uninitialized Subscripts514785
-Node: Delete516404
-Ref: Delete-Footnote-1519156
-Node: Multidimensional519213
-Node: Multiscanning522308
-Node: Arrays of Arrays523899
-Node: Arrays Summary528667
-Node: Functions530760
-Node: Built-in531798
-Node: Calling Built-in532879
-Node: Numeric Functions534875
-Ref: Numeric Functions-Footnote-1538903
-Ref: Numeric Functions-Footnote-2539548
-Ref: Numeric Functions-Footnote-3539596
-Node: String Functions539868
-Ref: String Functions-Footnote-1563726
-Ref: String Functions-Footnote-2563854
-Ref: String Functions-Footnote-3564102
-Node: Gory Details564189
-Ref: table-sub-escapes565980
-Ref: table-sub-proposed567499
-Ref: table-posix-sub568862
-Ref: table-gensub-escapes570403
-Ref: Gory Details-Footnote-1571226
-Node: I/O Functions571380
-Ref: table-system-return-values577848
-Ref: I/O Functions-Footnote-1579928
-Ref: I/O Functions-Footnote-2580076
-Node: Time Functions580196
-Ref: Time Functions-Footnote-1590867
-Ref: Time Functions-Footnote-2590935
-Ref: Time Functions-Footnote-3591093
-Ref: Time Functions-Footnote-4591204
-Ref: Time Functions-Footnote-5591316
-Ref: Time Functions-Footnote-6591543
-Node: Bitwise Functions591809
-Ref: table-bitwise-ops592403
-Ref: Bitwise Functions-Footnote-1598466
-Ref: Bitwise Functions-Footnote-2598639
-Node: Type Functions598830
-Node: I18N Functions601581
-Node: User-defined603232
-Node: Definition Syntax604044
-Ref: Definition Syntax-Footnote-1609731
-Node: Function Example609802
-Ref: Function Example-Footnote-1612724
-Node: Function Calling612746
-Node: Calling A Function613334
-Node: Variable Scope614292
-Node: Pass By Value/Reference617286
-Node: Function Caveats619930
-Ref: Function Caveats-Footnote-1621977
-Node: Return Statement622097
-Node: Dynamic Typing625076
-Node: Indirect Calls626006
-Ref: Indirect Calls-Footnote-1636258
-Node: Functions Summary636386
-Node: Library Functions639091
-Ref: Library Functions-Footnote-1642698
-Ref: Library Functions-Footnote-2642841
-Node: Library Names643012
-Ref: Library Names-Footnote-1646679
-Ref: Library Names-Footnote-2646902
-Node: General Functions646988
-Node: Strtonum Function648091
-Node: Assert Function651113
-Node: Round Function654439
-Node: Cliff Random Function655979
-Node: Ordinal Functions656995
-Ref: Ordinal Functions-Footnote-1660058
-Ref: Ordinal Functions-Footnote-2660310
-Node: Join Function660520
-Ref: Join Function-Footnote-1662290
-Node: Getlocaltime Function662490
-Node: Readfile Function666232
-Node: Shell Quoting668209
-Node: Data File Management669610
-Node: Filetrans Function670242
-Node: Rewind Function674338
-Node: File Checking676247
-Ref: File Checking-Footnote-1677581
-Node: Empty Files677782
-Node: Ignoring Assigns679761
-Node: Getopt Function681311
-Ref: Getopt Function-Footnote-1692780
-Node: Passwd Functions692980
-Ref: Passwd Functions-Footnote-1701819
-Node: Group Functions701907
-Ref: Group Functions-Footnote-1709805
-Node: Walking Arrays710012
-Node: Library Functions Summary713020
-Node: Library Exercises714426
-Node: Sample Programs714891
-Node: Running Examples715661
-Node: Clones716389
-Node: Cut Program717613
-Node: Egrep Program727542
-Ref: Egrep Program-Footnote-1735054
-Node: Id Program735164
-Node: Split Program738844
-Ref: Split Program-Footnote-1742302
-Node: Tee Program742431
-Node: Uniq Program745221
-Node: Wc Program752842
-Ref: Wc Program-Footnote-1757097
-Node: Miscellaneous Programs757191
-Node: Dupword Program758404
-Node: Alarm Program760434
-Node: Translate Program765289
-Ref: Translate Program-Footnote-1769854
-Node: Labels Program770124
-Ref: Labels Program-Footnote-1773475
-Node: Word Sorting773559
-Node: History Sorting777631
-Node: Extract Program779466
-Node: Simple Sed787520
-Node: Igawk Program790594
-Ref: Igawk Program-Footnote-1804925
-Ref: Igawk Program-Footnote-2805127
-Ref: Igawk Program-Footnote-3805249
-Node: Anagram Program805364
-Node: Signature Program808426
-Node: Programs Summary809673
-Node: Programs Exercises810887
-Ref: Programs Exercises-Footnote-1815016
-Node: Advanced Features815107
-Node: Nondecimal Data817097
-Node: Array Sorting818688
-Node: Controlling Array Traversal819388
-Ref: Controlling Array Traversal-Footnote-1827756
-Node: Array Sorting Functions827874
-Ref: Array Sorting Functions-Footnote-1832965
-Node: Two-way I/O833161
-Ref: Two-way I/O-Footnote-1840882
-Ref: Two-way I/O-Footnote-2841069
-Node: TCP/IP Networking841151
-Node: Profiling844269
-Node: Advanced Features Summary853287
-Node: Internationalization855131
-Node: I18N and L10N856611
-Node: Explaining gettext857298
-Ref: Explaining gettext-Footnote-1863190
-Ref: Explaining gettext-Footnote-2863375
-Node: Programmer i18n863540
-Ref: Programmer i18n-Footnote-1868489
-Node: Translator i18n868538
-Node: String Extraction869332
-Ref: String Extraction-Footnote-1870464
-Node: Printf Ordering870550
-Ref: Printf Ordering-Footnote-1873336
-Node: I18N Portability873400
-Ref: I18N Portability-Footnote-1875856
-Node: I18N Example875919
-Ref: I18N Example-Footnote-1879194
-Ref: I18N Example-Footnote-2879267
-Node: Gawk I18N879376
-Node: I18N Summary880025
-Node: Debugger881366
-Node: Debugging882366
-Node: Debugging Concepts882807
-Node: Debugging Terms884616
-Node: Awk Debugging887191
-Ref: Awk Debugging-Footnote-1888136
-Node: Sample Debugging Session888268
-Node: Debugger Invocation888802
-Node: Finding The Bug890188
-Node: List of Debugger Commands896662
-Node: Breakpoint Control897995
-Node: Debugger Execution Control901689
-Node: Viewing And Changing Data905051
-Node: Execution Stack908592
-Node: Debugger Info910229
-Node: Miscellaneous Debugger Commands914300
-Node: Readline Support919362
-Node: Limitations920258
-Node: Debugging Summary922812
-Node: Namespaces924091
-Node: Global Namespace925170
-Node: Qualified Names926568
-Node: Default Namespace927567
-Node: Changing The Namespace928308
-Node: Naming Rules929922
-Node: Internal Name Management931770
-Node: Namespace Example932812
-Node: Namespace And Features935374
-Node: Namespace Summary936809
-Node: Arbitrary Precision Arithmetic938286
-Node: Computer Arithmetic939773
-Ref: table-numeric-ranges943539
-Ref: table-floating-point-ranges944032
-Ref: Computer Arithmetic-Footnote-1944690
-Node: Math Definitions944747
-Ref: table-ieee-formats948063
-Ref: Math Definitions-Footnote-1948666
-Node: MPFR features948771
-Node: FP Math Caution950489
-Ref: FP Math Caution-Footnote-1951561
-Node: Inexactness of computations951930
-Node: Inexact representation952890
-Node: Comparing FP Values954250
-Node: Errors accumulate955491
-Node: Getting Accuracy956924
-Node: Try To Round959634
-Node: Setting precision960533
-Ref: table-predefined-precision-strings961230
-Node: Setting the rounding mode963060
-Ref: table-gawk-rounding-modes963434
-Ref: Setting the rounding mode-Footnote-1967365
-Node: Arbitrary Precision Integers967544
-Ref: Arbitrary Precision Integers-Footnote-1970719
-Node: Checking for MPFR970868
-Node: POSIX Floating Point Problems972342
-Ref: POSIX Floating Point Problems-Footnote-1976627
-Node: Floating point summary976665
-Node: Dynamic Extensions978855
-Node: Extension Intro980408
-Node: Plugin License981674
-Node: Extension Mechanism Outline982471
-Ref: figure-load-extension982910
-Ref: figure-register-new-function984475
-Ref: figure-call-new-function985567
-Node: Extension API Description987629
-Node: Extension API Functions Introduction989271
-Ref: table-api-std-headers991107
-Node: General Data Types994972
-Ref: General Data Types-Footnote-11003333
-Node: Memory Allocation Functions1003632
-Ref: Memory Allocation Functions-Footnote-11007842
-Node: Constructor Functions1007941
-Node: Registration Functions1011527
-Node: Extension Functions1012212
-Node: Exit Callback Functions1017534
-Node: Extension Version String1018784
-Node: Input Parsers1019447
-Node: Output Wrappers1032168
-Node: Two-way processors1036680
-Node: Printing Messages1038945
-Ref: Printing Messages-Footnote-11040116
-Node: Updating ERRNO1040269
-Node: Requesting Values1041008
-Ref: table-value-types-returned1041745
-Node: Accessing Parameters1042681
-Node: Symbol Table Access1043916
-Node: Symbol table by name1044428
-Ref: Symbol table by name-Footnote-11047452
-Node: Symbol table by cookie1047580
-Ref: Symbol table by cookie-Footnote-11051765
-Node: Cached values1051829
-Ref: Cached values-Footnote-11055365
-Node: Array Manipulation1055518
-Ref: Array Manipulation-Footnote-11056609
-Node: Array Data Types1056646
-Ref: Array Data Types-Footnote-11059304
-Node: Array Functions1059396
-Node: Flattening Arrays1063894
-Node: Creating Arrays1070870
-Node: Redirection API1075637
-Node: Extension API Variables1078470
-Node: Extension Versioning1079181
-Ref: gawk-api-version1079610
-Node: Extension GMP/MPFR Versioning1081341
-Node: Extension API Informational Variables1082969
-Node: Extension API Boilerplate1084042
-Node: Changes from API V11088016
-Node: Finding Extensions1089588
-Node: Extension Example1090147
-Node: Internal File Description1090945
-Node: Internal File Ops1095025
-Ref: Internal File Ops-Footnote-11106375
-Node: Using Internal File Ops1106515
-Ref: Using Internal File Ops-Footnote-11108898
-Node: Extension Samples1109172
-Node: Extension Sample File Functions1110701
-Node: Extension Sample Fnmatch1118350
-Node: Extension Sample Fork1119837
-Node: Extension Sample Inplace1121055
-Node: Extension Sample Ord1124359
-Node: Extension Sample Readdir1125195
-Ref: table-readdir-file-types1126084
-Node: Extension Sample Revout1126889
-Node: Extension Sample Rev2way1127478
-Node: Extension Sample Read write array1128218
-Node: Extension Sample Readfile1130160
-Node: Extension Sample Time1131255
-Node: Extension Sample API Tests1132603
-Node: gawkextlib1133095
-Node: Extension summary1136013
-Node: Extension Exercises1139715
-Node: Language History1140957
-Node: V7/SVR3.11142613
-Node: SVR41144765
-Node: POSIX1146199
-Node: BTL1147579
-Node: POSIX/GNU1148308
-Node: Feature History1154086
-Node: Common Extensions1170132
-Node: Ranges and Locales1171415
-Ref: Ranges and Locales-Footnote-11176031
-Ref: Ranges and Locales-Footnote-21176058
-Ref: Ranges and Locales-Footnote-31176293
-Node: Contributors1176514
-Node: History summary1182459
-Node: Installation1183839
-Node: Gawk Distribution1184783
-Node: Getting1185267
-Node: Extracting1186230
-Node: Distribution contents1187868
-Node: Unix Installation1194348
-Node: Quick Installation1195030
-Node: Shell Startup Files1197444
-Node: Additional Configuration Options1198533
-Node: Configuration Philosophy1200698
-Node: Non-Unix Installation1203067
-Node: PC Installation1203527
-Node: PC Binary Installation1204365
-Node: PC Compiling1204800
-Node: PC Using1205917
-Node: Cygwin1209470
-Node: MSYS1210569
-Node: VMS Installation1211070
-Node: VMS Compilation1211861
-Ref: VMS Compilation-Footnote-11213090
-Node: VMS Dynamic Extensions1213148
-Node: VMS Installation Details1214833
-Node: VMS Running1217086
-Node: VMS GNV1221365
-Node: VMS Old Gawk1222100
-Node: Bugs1222571
-Node: Bug address1223234
-Node: Usenet1226216
-Node: Maintainers1227220
-Node: Other Versions1228481
-Node: Installation summary1235395
-Node: Notes1236597
-Node: Compatibility Mode1237391
-Node: Additions1238173
-Node: Accessing The Source1239098
-Node: Adding Code1240535
-Node: New Ports1246754
-Node: Derived Files1251129
-Ref: Derived Files-Footnote-11256789
-Ref: Derived Files-Footnote-21256824
-Ref: Derived Files-Footnote-31257422
-Node: Future Extensions1257536
-Node: Implementation Limitations1258194
-Node: Extension Design1259377
-Node: Old Extension Problems1260521
-Ref: Old Extension Problems-Footnote-11262039
-Node: Extension New Mechanism Goals1262096
-Ref: Extension New Mechanism Goals-Footnote-11265460
-Node: Extension Other Design Decisions1265649
-Node: Extension Future Growth1267762
-Node: Notes summary1268598
-Node: Basic Concepts1269756
-Node: Basic High Level1270437
-Ref: figure-general-flow1270719
-Ref: figure-process-flow1271404
-Ref: Basic High Level-Footnote-11274705
-Node: Basic Data Typing1274890
-Node: Glossary1278218
-Node: Copying1310056
-Node: GNU Free Documentation License1347599
-Node: Index1372719
+Node: Getline255311
+Node: Plain Getline257780
+Node: Getline/Variable260421
+Node: Getline/File261572
+Node: Getline/Variable/File262960
+Ref: Getline/Variable/File-Footnote-1264565
+Node: Getline/Pipe264653
+Node: Getline/Variable/Pipe267360
+Node: Getline/Coprocess268495
+Node: Getline/Variable/Coprocess269762
+Node: Getline Notes270504
+Node: Getline Summary273301
+Ref: table-getline-variants273725
+Node: Read Timeout274473
+Ref: Read Timeout-Footnote-1278379
+Node: Retrying Input278437
+Node: Command-line directories279636
+Node: Input Summary280542
+Node: Input Exercises283714
+Node: Printing284442
+Node: Print286276
+Node: Print Examples287733
+Node: Output Separators290513
+Node: OFMT292530
+Node: Printf293886
+Node: Basic Printf294671
+Node: Control Letters296245
+Node: Format Modifiers301409
+Node: Printf Examples307424
+Node: Redirection309910
+Node: Special FD316751
+Ref: Special FD-Footnote-1319919
+Node: Special Files319993
+Node: Other Inherited Files320610
+Node: Special Network321611
+Node: Special Caveats322471
+Node: Close Files And Pipes323420
+Ref: table-close-pipe-return-values330327
+Ref: Close Files And Pipes-Footnote-1331140
+Ref: Close Files And Pipes-Footnote-2331288
+Node: Nonfatal331440
+Node: Output Summary333778
+Node: Output Exercises335000
+Node: Expressions335679
+Node: Values336867
+Node: Constants337545
+Node: Scalar Constants338236
+Ref: Scalar Constants-Footnote-1340760
+Node: Nondecimal-numbers341010
+Node: Regexp Constants344011
+Node: Using Constant Regexps344537
+Node: Standard Regexp Constants345159
+Node: Strong Regexp Constants348347
+Node: Variables351305
+Node: Using Variables351962
+Node: Assignment Options353872
+Node: Conversion356339
+Node: Strings And Numbers356863
+Ref: Strings And Numbers-Footnote-1359926
+Node: Locale influences conversions360035
+Ref: table-locale-affects362793
+Node: All Operators363411
+Node: Arithmetic Ops364040
+Node: Concatenation366546
+Ref: Concatenation-Footnote-1369393
+Node: Assignment Ops369500
+Ref: table-assign-ops374491
+Node: Increment Ops375804
+Node: Truth Values and Conditions379264
+Node: Truth Values380338
+Node: Typing and Comparison381386
+Node: Variable Typing382206
+Ref: Variable Typing-Footnote-1388669
+Ref: Variable Typing-Footnote-2388741
+Node: Comparison Operators388818
+Ref: table-relational-ops389237
+Node: POSIX String Comparison392732
+Ref: POSIX String Comparison-Footnote-1394427
+Ref: POSIX String Comparison-Footnote-2394566
+Node: Boolean Ops394650
+Ref: Boolean Ops-Footnote-1399132
+Node: Conditional Exp399224
+Node: Function Calls400960
+Node: Precedence404837
+Node: Locales408496
+Node: Expressions Summary410128
+Node: Patterns and Actions412701
+Node: Pattern Overview413821
+Node: Regexp Patterns415498
+Node: Expression Patterns416040
+Node: Ranges419821
+Node: BEGIN/END422929
+Node: Using BEGIN/END423690
+Ref: Using BEGIN/END-Footnote-1426426
+Node: I/O And BEGIN/END426532
+Node: BEGINFILE/ENDFILE428846
+Node: Empty431759
+Node: Using Shell Variables432076
+Node: Action Overview434350
+Node: Statements436675
+Node: If Statement438523
+Node: While Statement440018
+Node: Do Statement442046
+Node: For Statement443194
+Node: Switch Statement446365
+Node: Break Statement448751
+Node: Continue Statement450843
+Node: Next Statement452670
+Node: Nextfile Statement455053
+Node: Exit Statement457705
+Node: Built-in Variables460108
+Node: User-modified461241
+Node: Auto-set469008
+Ref: Auto-set-Footnote-1485815
+Ref: Auto-set-Footnote-2486021
+Node: ARGC and ARGV486077
+Node: Pattern Action Summary490290
+Node: Arrays492720
+Node: Array Basics494049
+Node: Array Intro494893
+Ref: figure-array-elements496868
+Ref: Array Intro-Footnote-1499572
+Node: Reference to Elements499700
+Node: Assigning Elements502164
+Node: Array Example502655
+Node: Scanning an Array504414
+Node: Controlling Scanning507436
+Ref: Controlling Scanning-Footnote-1512835
+Node: Numeric Array Subscripts513151
+Node: Uninitialized Subscripts515335
+Node: Delete516954
+Ref: Delete-Footnote-1519706
+Node: Multidimensional519763
+Node: Multiscanning522858
+Node: Arrays of Arrays524449
+Node: Arrays Summary529217
+Node: Functions531310
+Node: Built-in532348
+Node: Calling Built-in533429
+Node: Numeric Functions535425
+Ref: Numeric Functions-Footnote-1539453
+Ref: Numeric Functions-Footnote-2540098
+Ref: Numeric Functions-Footnote-3540146
+Node: String Functions540418
+Ref: String Functions-Footnote-1564276
+Ref: String Functions-Footnote-2564404
+Ref: String Functions-Footnote-3564652
+Node: Gory Details564739
+Ref: table-sub-escapes566530
+Ref: table-sub-proposed568049
+Ref: table-posix-sub569412
+Ref: table-gensub-escapes570953
+Ref: Gory Details-Footnote-1571776
+Node: I/O Functions571930
+Ref: table-system-return-values578398
+Ref: I/O Functions-Footnote-1580478
+Ref: I/O Functions-Footnote-2580626
+Node: Time Functions580746
+Ref: Time Functions-Footnote-1591417
+Ref: Time Functions-Footnote-2591485
+Ref: Time Functions-Footnote-3591643
+Ref: Time Functions-Footnote-4591754
+Ref: Time Functions-Footnote-5591866
+Ref: Time Functions-Footnote-6592093
+Node: Bitwise Functions592359
+Ref: table-bitwise-ops592953
+Ref: Bitwise Functions-Footnote-1599016
+Ref: Bitwise Functions-Footnote-2599189
+Node: Type Functions599380
+Node: I18N Functions602131
+Node: User-defined603782
+Node: Definition Syntax604594
+Ref: Definition Syntax-Footnote-1610281
+Node: Function Example610352
+Ref: Function Example-Footnote-1613274
+Node: Function Calling613296
+Node: Calling A Function613884
+Node: Variable Scope614842
+Node: Pass By Value/Reference617836
+Node: Function Caveats620480
+Ref: Function Caveats-Footnote-1622527
+Node: Return Statement622647
+Node: Dynamic Typing625626
+Node: Indirect Calls626556
+Ref: Indirect Calls-Footnote-1636808
+Node: Functions Summary636936
+Node: Library Functions639641
+Ref: Library Functions-Footnote-1643248
+Ref: Library Functions-Footnote-2643391
+Node: Library Names643562
+Ref: Library Names-Footnote-1647229
+Ref: Library Names-Footnote-2647452
+Node: General Functions647538
+Node: Strtonum Function648641
+Node: Assert Function651663
+Node: Round Function654989
+Node: Cliff Random Function656529
+Node: Ordinal Functions657545
+Ref: Ordinal Functions-Footnote-1660608
+Ref: Ordinal Functions-Footnote-2660860
+Node: Join Function661070
+Ref: Join Function-Footnote-1662840
+Node: Getlocaltime Function663040
+Node: Readfile Function666782
+Node: Shell Quoting668759
+Node: Data File Management670160
+Node: Filetrans Function670792
+Node: Rewind Function674888
+Node: File Checking676797
+Ref: File Checking-Footnote-1678131
+Node: Empty Files678332
+Node: Ignoring Assigns680311
+Node: Getopt Function681861
+Ref: Getopt Function-Footnote-1693330
+Node: Passwd Functions693530
+Ref: Passwd Functions-Footnote-1702369
+Node: Group Functions702457
+Ref: Group Functions-Footnote-1710355
+Node: Walking Arrays710562
+Node: Library Functions Summary713570
+Node: Library Exercises714976
+Node: Sample Programs715441
+Node: Running Examples716211
+Node: Clones716939
+Node: Cut Program718163
+Node: Egrep Program728092
+Ref: Egrep Program-Footnote-1735604
+Node: Id Program735714
+Node: Split Program739394
+Ref: Split Program-Footnote-1742852
+Node: Tee Program742981
+Node: Uniq Program745771
+Node: Wc Program753392
+Ref: Wc Program-Footnote-1757647
+Node: Miscellaneous Programs757741
+Node: Dupword Program758954
+Node: Alarm Program760984
+Node: Translate Program765839
+Ref: Translate Program-Footnote-1770404
+Node: Labels Program770674
+Ref: Labels Program-Footnote-1774025
+Node: Word Sorting774109
+Node: History Sorting778181
+Node: Extract Program780016
+Node: Simple Sed788070
+Node: Igawk Program791144
+Ref: Igawk Program-Footnote-1805475
+Ref: Igawk Program-Footnote-2805677
+Ref: Igawk Program-Footnote-3805799
+Node: Anagram Program805914
+Node: Signature Program808976
+Node: Programs Summary810223
+Node: Programs Exercises811437
+Ref: Programs Exercises-Footnote-1815566
+Node: Advanced Features815657
+Node: Nondecimal Data817647
+Node: Array Sorting819238
+Node: Controlling Array Traversal819938
+Ref: Controlling Array Traversal-Footnote-1828306
+Node: Array Sorting Functions828424
+Ref: Array Sorting Functions-Footnote-1833515
+Node: Two-way I/O833711
+Ref: Two-way I/O-Footnote-1841432
+Ref: Two-way I/O-Footnote-2841619
+Node: TCP/IP Networking841701
+Node: Profiling844819
+Node: Advanced Features Summary853837
+Node: Internationalization855681
+Node: I18N and L10N857161
+Node: Explaining gettext857848
+Ref: Explaining gettext-Footnote-1863740
+Ref: Explaining gettext-Footnote-2863925
+Node: Programmer i18n864090
+Ref: Programmer i18n-Footnote-1869039
+Node: Translator i18n869088
+Node: String Extraction869882
+Ref: String Extraction-Footnote-1871014
+Node: Printf Ordering871100
+Ref: Printf Ordering-Footnote-1873886
+Node: I18N Portability873950
+Ref: I18N Portability-Footnote-1876406
+Node: I18N Example876469
+Ref: I18N Example-Footnote-1879744
+Ref: I18N Example-Footnote-2879817
+Node: Gawk I18N879926
+Node: I18N Summary880575
+Node: Debugger881916
+Node: Debugging882916
+Node: Debugging Concepts883357
+Node: Debugging Terms885166
+Node: Awk Debugging887741
+Ref: Awk Debugging-Footnote-1888686
+Node: Sample Debugging Session888818
+Node: Debugger Invocation889352
+Node: Finding The Bug890738
+Node: List of Debugger Commands897212
+Node: Breakpoint Control898545
+Node: Debugger Execution Control902239
+Node: Viewing And Changing Data905601
+Node: Execution Stack909142
+Node: Debugger Info910779
+Node: Miscellaneous Debugger Commands914850
+Node: Readline Support919912
+Node: Limitations920808
+Node: Debugging Summary923362
+Node: Namespaces924641
+Node: Global Namespace925720
+Node: Qualified Names927118
+Node: Default Namespace928117
+Node: Changing The Namespace928858
+Node: Naming Rules930472
+Node: Internal Name Management932320
+Node: Namespace Example933362
+Node: Namespace And Features935924
+Node: Namespace Summary937359
+Node: Arbitrary Precision Arithmetic938836
+Node: Computer Arithmetic940323
+Ref: table-numeric-ranges944089
+Ref: table-floating-point-ranges944582
+Ref: Computer Arithmetic-Footnote-1945240
+Node: Math Definitions945297
+Ref: table-ieee-formats948613
+Ref: Math Definitions-Footnote-1949216
+Node: MPFR features949321
+Node: FP Math Caution951039
+Ref: FP Math Caution-Footnote-1952111
+Node: Inexactness of computations952480
+Node: Inexact representation953440
+Node: Comparing FP Values954800
+Node: Errors accumulate956041
+Node: Getting Accuracy957474
+Node: Try To Round960184
+Node: Setting precision961083
+Ref: table-predefined-precision-strings961780
+Node: Setting the rounding mode963610
+Ref: table-gawk-rounding-modes963984
+Ref: Setting the rounding mode-Footnote-1967915
+Node: Arbitrary Precision Integers968094
+Ref: Arbitrary Precision Integers-Footnote-1971269
+Node: Checking for MPFR971418
+Node: POSIX Floating Point Problems972892
+Ref: POSIX Floating Point Problems-Footnote-1977177
+Node: Floating point summary977215
+Node: Dynamic Extensions979405
+Node: Extension Intro980958
+Node: Plugin License982224
+Node: Extension Mechanism Outline983021
+Ref: figure-load-extension983460
+Ref: figure-register-new-function985025
+Ref: figure-call-new-function986117
+Node: Extension API Description988179
+Node: Extension API Functions Introduction989821
+Ref: table-api-std-headers991657
+Node: General Data Types995522
+Ref: General Data Types-Footnote-11003883
+Node: Memory Allocation Functions1004182
+Ref: Memory Allocation Functions-Footnote-11008392
+Node: Constructor Functions1008491
+Node: Registration Functions1012077
+Node: Extension Functions1012762
+Node: Exit Callback Functions1018084
+Node: Extension Version String1019334
+Node: Input Parsers1019997
+Node: Output Wrappers1032718
+Node: Two-way processors1037230
+Node: Printing Messages1039495
+Ref: Printing Messages-Footnote-11040666
+Node: Updating ERRNO1040819
+Node: Requesting Values1041558
+Ref: table-value-types-returned1042295
+Node: Accessing Parameters1043231
+Node: Symbol Table Access1044466
+Node: Symbol table by name1044978
+Ref: Symbol table by name-Footnote-11048002
+Node: Symbol table by cookie1048130
+Ref: Symbol table by cookie-Footnote-11052315
+Node: Cached values1052379
+Ref: Cached values-Footnote-11055915
+Node: Array Manipulation1056068
+Ref: Array Manipulation-Footnote-11057159
+Node: Array Data Types1057196
+Ref: Array Data Types-Footnote-11059854
+Node: Array Functions1059946
+Node: Flattening Arrays1064444
+Node: Creating Arrays1071420
+Node: Redirection API1076187
+Node: Extension API Variables1079020
+Node: Extension Versioning1079731
+Ref: gawk-api-version1080160
+Node: Extension GMP/MPFR Versioning1081891
+Node: Extension API Informational Variables1083519
+Node: Extension API Boilerplate1084592
+Node: Changes from API V11088566
+Node: Finding Extensions1090138
+Node: Extension Example1090697
+Node: Internal File Description1091495
+Node: Internal File Ops1095575
+Ref: Internal File Ops-Footnote-11106925
+Node: Using Internal File Ops1107065
+Ref: Using Internal File Ops-Footnote-11109448
+Node: Extension Samples1109722
+Node: Extension Sample File Functions1111251
+Node: Extension Sample Fnmatch1118900
+Node: Extension Sample Fork1120387
+Node: Extension Sample Inplace1121605
+Node: Extension Sample Ord1124909
+Node: Extension Sample Readdir1125745
+Ref: table-readdir-file-types1126634
+Node: Extension Sample Revout1127439
+Node: Extension Sample Rev2way1128028
+Node: Extension Sample Read write array1128768
+Node: Extension Sample Readfile1130710
+Node: Extension Sample Time1131805
+Node: Extension Sample API Tests1133153
+Node: gawkextlib1133645
+Node: Extension summary1136563
+Node: Extension Exercises1140265
+Node: Language History1141507
+Node: V7/SVR3.11143163
+Node: SVR41145315
+Node: POSIX1146749
+Node: BTL1148129
+Node: POSIX/GNU1148858
+Node: Feature History1154636
+Node: Common Extensions1170682
+Node: Ranges and Locales1171965
+Ref: Ranges and Locales-Footnote-11176581
+Ref: Ranges and Locales-Footnote-21176608
+Ref: Ranges and Locales-Footnote-31176843
+Node: Contributors1177064
+Node: History summary1183009
+Node: Installation1184389
+Node: Gawk Distribution1185333
+Node: Getting1185817
+Node: Extracting1186780
+Node: Distribution contents1188418
+Node: Unix Installation1194898
+Node: Quick Installation1195580
+Node: Shell Startup Files1197994
+Node: Additional Configuration Options1199083
+Node: Configuration Philosophy1201248
+Node: Non-Unix Installation1203617
+Node: PC Installation1204077
+Node: PC Binary Installation1204915
+Node: PC Compiling1205350
+Node: PC Using1206467
+Node: Cygwin1210020
+Node: MSYS1211119
+Node: VMS Installation1211620
+Node: VMS Compilation1212411
+Ref: VMS Compilation-Footnote-11213640
+Node: VMS Dynamic Extensions1213698
+Node: VMS Installation Details1215383
+Node: VMS Running1217636
+Node: VMS GNV1221915
+Node: VMS Old Gawk1222650
+Node: Bugs1223121
+Node: Bug address1223784
+Node: Usenet1226766
+Node: Maintainers1227770
+Node: Other Versions1229031
+Node: Installation summary1235945
+Node: Notes1237147
+Node: Compatibility Mode1237941
+Node: Additions1238723
+Node: Accessing The Source1239648
+Node: Adding Code1241085
+Node: New Ports1247304
+Node: Derived Files1251679
+Ref: Derived Files-Footnote-11257339
+Ref: Derived Files-Footnote-21257374
+Ref: Derived Files-Footnote-31257972
+Node: Future Extensions1258086
+Node: Implementation Limitations1258744
+Node: Extension Design1259927
+Node: Old Extension Problems1261071
+Ref: Old Extension Problems-Footnote-11262589
+Node: Extension New Mechanism Goals1262646
+Ref: Extension New Mechanism Goals-Footnote-11266010
+Node: Extension Other Design Decisions1266199
+Node: Extension Future Growth1268312
+Node: Notes summary1269148
+Node: Basic Concepts1270306
+Node: Basic High Level1270987
+Ref: figure-general-flow1271269
+Ref: figure-process-flow1271954
+Ref: Basic High Level-Footnote-11275255
+Node: Basic Data Typing1275440
+Node: Glossary1278768
+Node: Copying1310606
+Node: GNU Free Documentation License1348149
+Node: Index1373269

End Tag Table