aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-10-15 11:40:12 +0300
committerArnold D. Robbins <arnold@skeeve.com>2014-10-15 11:40:12 +0300
commit74ee0dcab17240a1626b77ed998b07f0f6560a48 (patch)
tree4cb604dbf593ca99fd0956880b9155b9ef3a9933 /doc/gawk.info
parentcb9faa8c276efc4e2b24378bdb941d007523fc22 (diff)
downloadegawk-74ee0dcab17240a1626b77ed998b07f0f6560a48.tar.gz
egawk-74ee0dcab17240a1626b77ed998b07f0f6560a48.tar.bz2
egawk-74ee0dcab17240a1626b77ed998b07f0f6560a48.zip
Sanitize handling of AWKPATH / AWKLIBPATH.
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info1071
1 files changed, 543 insertions, 528 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index fd3e19db..00a8adcb 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -2874,17 +2874,17 @@ File: gawk.info, Node: AWKPATH Variable, Next: AWKLIBPATH Variable, Up: Envir
The previous minor node described how `awk' program files can be named
on the command line with the `-f' option. In most `awk'
-implementations, you must supply a precise path name for each program
-file, unless the file is in the current directory. But in `gawk', if
+implementations, you must supply a precise pathname for each program
+file, unless the file is in the current directory. But with `gawk', if
the file name supplied to the `-f' or `-i' options does not contain a
directory separator `/', then `gawk' searches a list of directories
(called the "search path"), one by one, looking for a file with the
specified name.
The search path is a string consisting of directory names separated by
-colons(1). `gawk' gets its search path from the `AWKPATH' environment
-variable. If that variable does not exist, `gawk' uses a default path,
-`.:/usr/local/share/awk'.(2)
+colons.(1) `gawk' gets its search path from the `AWKPATH' environment
+variable. If that variable does not exist, or if it has an empty value,
+`gawk' uses a default path (described shortly).
The search path feature is particularly helpful for building
libraries of useful `awk' functions. The library files can be placed
@@ -2892,15 +2892,13 @@ in a standard directory in the default path and then specified on the
command line with a short file name. Otherwise, you would have to type
the full file name for each file.
- By using the `-i' option, or the `-e' and `-f' options, your
-command-line `awk' programs can use facilities in `awk' library files
-(*note Library Functions::). Path searching is not done if `gawk' is
-in compatibility mode. This is true for both `--traditional' and
-`--posix'. *Note Options::.
+ By using the `-i' or `-f' options, your command-line `awk' programs
+can use facilities in `awk' library files (*note Library Functions::).
+Path searching is not done if `gawk' is in compatibility mode. This is
+true for both `--traditional' and `--posix'. *Note Options::.
If the source code file is not found after the initial search, the
-path is searched again after adding the default `.awk' suffix to the
-file name.
+path is searched again after adding the suffix `.awk' to the file name.
`gawk''s path search mechanism is similar to the shell's. (See `The
Bourne-Again SHell manual' (http://www.gnu.org/software/bash/manual/).)
@@ -2908,15 +2906,23 @@ It treats a null entry in the path as indicating the current directory.
(A null entry is indicated by starting or ending the path with a colon
or by placing two colons next to each other [`::'].)
- NOTE: `gawk' always looks in the current directory _before_
- searching `AWKPATH'. Thus, while you can include the current
- directory in the search path, either explicitly or with a null
- entry, there is no real reason to do so.
+ NOTE: To include the current directory in the path, either place
+ `.' as an entry in the path or write a null entry in the path.
- If `AWKPATH' is not defined in the environment, `gawk' places its
-default search path into `ENVIRON["AWKPATH"]'. This makes it easy to
-determine the actual search path that `gawk' used from within an `awk'
-program.
+ Different past versions of `gawk' would also look explicitly in
+ the current directory, either before or after the path search. As
+ of version 4.1.2, this no longer happens, and if you wish to look
+ in the current directory, you must include `.' either as a separate
+ entry, or as a null entry in the search path.
+
+ The default value for `AWKPATH' is `.:/usr/local/share/awk'.(2)
+Since `.' is included at the beginning, `gawk' searches first in the
+current directory and then in `/usr/local/share/awk'. In practice,
+this means that you will rarely need to change the value of `AWKPATH'.
+
+ `gawk' places the value of the search path that it used into
+`ENVIRON["AWKPATH"]'. This provides access to the actual search path
+value from within an `awk' program.
While you can change `ENVIRON["AWKPATH"]' within your `awk' program,
this has no effect on the running program's behavior. This makes
@@ -2948,6 +2954,15 @@ platform. For example, on GNU/Linux systems, the suffix `.so' is used.
The search path specified is also used for extensions loaded via the
`@load' keyword (*note Loading Shared Libraries::).
+ If `AWKLIBPATH' does not exist in the environment, or if it has an
+empty value, `gawk' uses a default path; this is typically
+`/usr/local/lib/gawk', although it can vary depending upon how `gawk'
+was built.
+
+ `gawk' places the value of the search path that it used into
+`ENVIRON["AWKLIBPATH"]'. This provides access to the actual search path
+value from within an `awk' program.
+

File: gawk.info, Node: Other Environment Variables, Prev: AWKLIBPATH Variable, Up: Environment Variables
@@ -34313,513 +34328,513 @@ Node: Other Arguments131096
Node: Naming Standard Input134057
Node: Environment Variables135150
Node: AWKPATH Variable135708
-Ref: AWKPATH Variable-Footnote-1138560
-Ref: AWKPATH Variable-Footnote-2138605
-Node: AWKLIBPATH Variable138865
-Node: Other Environment Variables139624
-Node: Exit Status143344
-Node: Include Files144019
-Node: Loading Shared Libraries147607
-Node: Obsolete149034
-Node: Undocumented149731
-Node: Invoking Summary149998
-Node: Regexp151664
-Node: Regexp Usage153123
-Node: Escape Sequences155156
-Node: Regexp Operators161173
-Ref: Regexp Operators-Footnote-1168607
-Ref: Regexp Operators-Footnote-2168754
-Node: Bracket Expressions168852
-Ref: table-char-classes170869
-Node: Leftmost Longest173809
-Node: Computed Regexps175111
-Node: GNU Regexp Operators178508
-Node: Case-sensitivity182210
-Ref: Case-sensitivity-Footnote-1185100
-Ref: Case-sensitivity-Footnote-2185335
-Node: Regexp Summary185443
-Node: Reading Files186912
-Node: Records189006
-Node: awk split records189738
-Node: gawk split records194652
-Ref: gawk split records-Footnote-1199191
-Node: Fields199228
-Ref: Fields-Footnote-1202026
-Node: Nonconstant Fields202112
-Ref: Nonconstant Fields-Footnote-1204348
-Node: Changing Fields204550
-Node: Field Separators210482
-Node: Default Field Splitting213186
-Node: Regexp Field Splitting214303
-Node: Single Character Fields217653
-Node: Command Line Field Separator218712
-Node: Full Line Fields221924
-Ref: Full Line Fields-Footnote-1222432
-Node: Field Splitting Summary222478
-Ref: Field Splitting Summary-Footnote-1225609
-Node: Constant Size225710
-Node: Splitting By Content230316
-Ref: Splitting By Content-Footnote-1234389
-Node: Multiple Line234429
-Ref: Multiple Line-Footnote-1240318
-Node: Getline240497
-Node: Plain Getline242708
-Node: Getline/Variable245348
-Node: Getline/File246495
-Node: Getline/Variable/File247879
-Ref: Getline/Variable/File-Footnote-1249480
-Node: Getline/Pipe249567
-Node: Getline/Variable/Pipe252250
-Node: Getline/Coprocess253381
-Node: Getline/Variable/Coprocess254633
-Node: Getline Notes255372
-Node: Getline Summary258164
-Ref: table-getline-variants258576
-Node: Read Timeout259405
-Ref: Read Timeout-Footnote-1263219
-Node: Command-line directories263277
-Node: Input Summary264181
-Node: Input Exercises267433
-Node: Printing268161
-Node: Print269938
-Node: Print Examples271395
-Node: Output Separators274174
-Node: OFMT276192
-Node: Printf277546
-Node: Basic Printf278331
-Node: Control Letters279902
-Node: Format Modifiers283886
-Node: Printf Examples289893
-Node: Redirection292375
-Node: Special FD299214
-Ref: Special FD-Footnote-1302371
-Node: Special Files302445
-Node: Other Inherited Files303061
-Node: Special Network304061
-Node: Special Caveats304922
-Node: Close Files And Pipes305873
-Ref: Close Files And Pipes-Footnote-1313052
-Ref: Close Files And Pipes-Footnote-2313200
-Node: Output Summary313350
-Node: Output Exercises314346
-Node: Expressions315026
-Node: Values316211
-Node: Constants316887
-Node: Scalar Constants317567
-Ref: Scalar Constants-Footnote-1318426
-Node: Nondecimal-numbers318676
-Node: Regexp Constants321676
-Node: Using Constant Regexps322201
-Node: Variables325339
-Node: Using Variables325994
-Node: Assignment Options327904
-Node: Conversion329779
-Node: Strings And Numbers330303
-Ref: Strings And Numbers-Footnote-1333367
-Node: Locale influences conversions333476
-Ref: table-locale-affects336221
-Node: All Operators336809
-Node: Arithmetic Ops337439
-Node: Concatenation339944
-Ref: Concatenation-Footnote-1342763
-Node: Assignment Ops342869
-Ref: table-assign-ops347852
-Node: Increment Ops349130
-Node: Truth Values and Conditions352568
-Node: Truth Values353651
-Node: Typing and Comparison354700
-Node: Variable Typing355493
-Node: Comparison Operators359145
-Ref: table-relational-ops359555
-Node: POSIX String Comparison363070
-Ref: POSIX String Comparison-Footnote-1364142
-Node: Boolean Ops364280
-Ref: Boolean Ops-Footnote-1368759
-Node: Conditional Exp368850
-Node: Function Calls370577
-Node: Precedence374457
-Node: Locales378125
-Node: Expressions Summary379756
-Node: Patterns and Actions382330
-Node: Pattern Overview383450
-Node: Regexp Patterns385129
-Node: Expression Patterns385672
-Node: Ranges389452
-Node: BEGIN/END392558
-Node: Using BEGIN/END393320
-Ref: Using BEGIN/END-Footnote-1396057
-Node: I/O And BEGIN/END396163
-Node: BEGINFILE/ENDFILE398477
-Node: Empty401378
-Node: Using Shell Variables401695
-Node: Action Overview403971
-Node: Statements406298
-Node: If Statement408146
-Node: While Statement409644
-Node: Do Statement411672
-Node: For Statement412814
-Node: Switch Statement415969
-Node: Break Statement418357
-Node: Continue Statement420398
-Node: Next Statement422223
-Node: Nextfile Statement424603
-Node: Exit Statement427233
-Node: Built-in Variables429636
-Node: User-modified430769
-Ref: User-modified-Footnote-1438449
-Node: Auto-set438511
-Ref: Auto-set-Footnote-1451541
-Ref: Auto-set-Footnote-2451746
-Node: ARGC and ARGV451802
-Node: Pattern Action Summary456006
-Node: Arrays458433
-Node: Array Basics459762
-Node: Array Intro460606
-Ref: figure-array-elements462570
-Ref: Array Intro-Footnote-1465094
-Node: Reference to Elements465222
-Node: Assigning Elements467672
-Node: Array Example468163
-Node: Scanning an Array469921
-Node: Controlling Scanning472937
-Ref: Controlling Scanning-Footnote-1478126
-Node: Numeric Array Subscripts478442
-Node: Uninitialized Subscripts480627
-Node: Delete482244
-Ref: Delete-Footnote-1484988
-Node: Multidimensional485045
-Node: Multiscanning488140
-Node: Arrays of Arrays489729
-Node: Arrays Summary494490
-Node: Functions496595
-Node: Built-in497468
-Node: Calling Built-in498546
-Node: Numeric Functions500534
-Ref: Numeric Functions-Footnote-1504556
-Ref: Numeric Functions-Footnote-2504913
-Ref: Numeric Functions-Footnote-3504961
-Node: String Functions505230
-Ref: String Functions-Footnote-1528702
-Ref: String Functions-Footnote-2528831
-Ref: String Functions-Footnote-3529079
-Node: Gory Details529166
-Ref: table-sub-escapes530947
-Ref: table-sub-proposed532467
-Ref: table-posix-sub533831
-Ref: table-gensub-escapes535371
-Ref: Gory Details-Footnote-1536203
-Node: I/O Functions536354
-Ref: I/O Functions-Footnote-1543455
-Node: Time Functions543602
-Ref: Time Functions-Footnote-1554071
-Ref: Time Functions-Footnote-2554139
-Ref: Time Functions-Footnote-3554297
-Ref: Time Functions-Footnote-4554408
-Ref: Time Functions-Footnote-5554520
-Ref: Time Functions-Footnote-6554747
-Node: Bitwise Functions555013
-Ref: table-bitwise-ops555575
-Ref: Bitwise Functions-Footnote-1559883
-Node: Type Functions560052
-Node: I18N Functions561201
-Node: User-defined562846
-Node: Definition Syntax563650
-Ref: Definition Syntax-Footnote-1569056
-Node: Function Example569125
-Ref: Function Example-Footnote-1572042
-Node: Function Caveats572064
-Node: Calling A Function572582
-Node: Variable Scope573537
-Node: Pass By Value/Reference576525
-Node: Return Statement580035
-Node: Dynamic Typing583019
-Node: Indirect Calls583948
-Ref: Indirect Calls-Footnote-1595252
-Node: Functions Summary595380
-Node: Library Functions598079
-Ref: Library Functions-Footnote-1601697
-Ref: Library Functions-Footnote-2601840
-Node: Library Names602011
-Ref: Library Names-Footnote-1605471
-Ref: Library Names-Footnote-2605691
-Node: General Functions605777
-Node: Strtonum Function606880
-Node: Assert Function609900
-Node: Round Function613224
-Node: Cliff Random Function614765
-Node: Ordinal Functions615781
-Ref: Ordinal Functions-Footnote-1618846
-Ref: Ordinal Functions-Footnote-2619098
-Node: Join Function619309
-Ref: Join Function-Footnote-1621080
-Node: Getlocaltime Function621280
-Node: Readfile Function625021
-Node: Shell Quoting626991
-Node: Data File Management628392
-Node: Filetrans Function629024
-Node: Rewind Function633083
-Node: File Checking634468
-Ref: File Checking-Footnote-1635796
-Node: Empty Files635997
-Node: Ignoring Assigns637976
-Node: Getopt Function639527
-Ref: Getopt Function-Footnote-1650987
-Node: Passwd Functions651190
-Ref: Passwd Functions-Footnote-1660041
-Node: Group Functions660129
-Ref: Group Functions-Footnote-1668032
-Node: Walking Arrays668245
-Node: Library Functions Summary669848
-Node: Library Exercises671249
-Node: Sample Programs672529
-Node: Running Examples673299
-Node: Clones674027
-Node: Cut Program675251
-Node: Egrep Program684981
-Ref: Egrep Program-Footnote-1692485
-Node: Id Program692595
-Node: Split Program696239
-Ref: Split Program-Footnote-1699685
-Node: Tee Program699813
-Node: Uniq Program702600
-Node: Wc Program710021
-Ref: Wc Program-Footnote-1714269
-Node: Miscellaneous Programs714361
-Node: Dupword Program715574
-Node: Alarm Program717605
-Node: Translate Program722409
-Ref: Translate Program-Footnote-1726973
-Node: Labels Program727243
-Ref: Labels Program-Footnote-1730592
-Node: Word Sorting730676
-Node: History Sorting734746
-Node: Extract Program736582
-Node: Simple Sed744114
-Node: Igawk Program747176
-Ref: Igawk Program-Footnote-1761502
-Ref: Igawk Program-Footnote-2761703
-Ref: Igawk Program-Footnote-3761825
-Node: Anagram Program761940
-Node: Signature Program765002
-Node: Programs Summary766249
-Node: Programs Exercises767442
-Ref: Programs Exercises-Footnote-1771573
-Node: Advanced Features771664
-Node: Nondecimal Data773612
-Node: Array Sorting775202
-Node: Controlling Array Traversal775899
-Ref: Controlling Array Traversal-Footnote-1784230
-Node: Array Sorting Functions784348
-Ref: Array Sorting Functions-Footnote-1788240
-Node: Two-way I/O788434
-Ref: Two-way I/O-Footnote-1793378
-Ref: Two-way I/O-Footnote-2793564
-Node: TCP/IP Networking793646
-Node: Profiling796518
-Node: Advanced Features Summary804062
-Node: Internationalization805995
-Node: I18N and L10N807475
-Node: Explaining gettext808161
-Ref: Explaining gettext-Footnote-1813190
-Ref: Explaining gettext-Footnote-2813374
-Node: Programmer i18n813539
-Ref: Programmer i18n-Footnote-1818405
-Node: Translator i18n818454
-Node: String Extraction819248
-Ref: String Extraction-Footnote-1820379
-Node: Printf Ordering820465
-Ref: Printf Ordering-Footnote-1823251
-Node: I18N Portability823315
-Ref: I18N Portability-Footnote-1825764
-Node: I18N Example825827
-Ref: I18N Example-Footnote-1828627
-Node: Gawk I18N828699
-Node: I18N Summary829337
-Node: Debugger830676
-Node: Debugging831698
-Node: Debugging Concepts832139
-Node: Debugging Terms833996
-Node: Awk Debugging836571
-Node: Sample Debugging Session837463
-Node: Debugger Invocation837983
-Node: Finding The Bug839367
-Node: List of Debugger Commands845842
-Node: Breakpoint Control847174
-Node: Debugger Execution Control850866
-Node: Viewing And Changing Data854230
-Node: Execution Stack857595
-Node: Debugger Info859233
-Node: Miscellaneous Debugger Commands863250
-Node: Readline Support868442
-Node: Limitations869334
-Node: Debugging Summary871431
-Node: Arbitrary Precision Arithmetic872599
-Node: Computer Arithmetic874015
-Ref: table-numeric-ranges877616
-Ref: Computer Arithmetic-Footnote-1878475
-Node: Math Definitions878532
-Ref: table-ieee-formats881819
-Ref: Math Definitions-Footnote-1882423
-Node: MPFR features882528
-Node: FP Math Caution884199
-Ref: FP Math Caution-Footnote-1885249
-Node: Inexactness of computations885618
-Node: Inexact representation886566
-Node: Comparing FP Values887921
-Node: Errors accumulate888994
-Node: Getting Accuracy890427
-Node: Try To Round893086
-Node: Setting precision893985
-Ref: table-predefined-precision-strings894669
-Node: Setting the rounding mode896463
-Ref: table-gawk-rounding-modes896827
-Ref: Setting the rounding mode-Footnote-1900281
-Node: Arbitrary Precision Integers900460
-Ref: Arbitrary Precision Integers-Footnote-1903451
-Node: POSIX Floating Point Problems903600
-Ref: POSIX Floating Point Problems-Footnote-1907476
-Node: Floating point summary907514
-Node: Dynamic Extensions909706
-Node: Extension Intro911258
-Node: Plugin License912524
-Node: Extension Mechanism Outline913321
-Ref: figure-load-extension913749
-Ref: figure-register-new-function915229
-Ref: figure-call-new-function916233
-Node: Extension API Description918219
-Node: Extension API Functions Introduction919669
-Node: General Data Types924505
-Ref: General Data Types-Footnote-1930192
-Node: Memory Allocation Functions930491
-Ref: Memory Allocation Functions-Footnote-1933321
-Node: Constructor Functions933417
-Node: Registration Functions935151
-Node: Extension Functions935836
-Node: Exit Callback Functions938132
-Node: Extension Version String939380
-Node: Input Parsers940030
-Node: Output Wrappers949845
-Node: Two-way processors954361
-Node: Printing Messages956565
-Ref: Printing Messages-Footnote-1957642
-Node: Updating `ERRNO'957794
-Node: Requesting Values958534
-Ref: table-value-types-returned959262
-Node: Accessing Parameters960220
-Node: Symbol Table Access961451
-Node: Symbol table by name961965
-Node: Symbol table by cookie963945
-Ref: Symbol table by cookie-Footnote-1968084
-Node: Cached values968147
-Ref: Cached values-Footnote-1971651
-Node: Array Manipulation971742
-Ref: Array Manipulation-Footnote-1972840
-Node: Array Data Types972879
-Ref: Array Data Types-Footnote-1975536
-Node: Array Functions975628
-Node: Flattening Arrays979482
-Node: Creating Arrays986369
-Node: Extension API Variables991136
-Node: Extension Versioning991772
-Node: Extension API Informational Variables993673
-Node: Extension API Boilerplate994761
-Node: Finding Extensions998577
-Node: Extension Example999137
-Node: Internal File Description999909
-Node: Internal File Ops1003976
-Ref: Internal File Ops-Footnote-11015634
-Node: Using Internal File Ops1015774
-Ref: Using Internal File Ops-Footnote-11018157
-Node: Extension Samples1018430
-Node: Extension Sample File Functions1019954
-Node: Extension Sample Fnmatch1027556
-Node: Extension Sample Fork1029038
-Node: Extension Sample Inplace1030251
-Node: Extension Sample Ord1031926
-Node: Extension Sample Readdir1032762
-Ref: table-readdir-file-types1033618
-Node: Extension Sample Revout1034429
-Node: Extension Sample Rev2way1035020
-Node: Extension Sample Read write array1035761
-Node: Extension Sample Readfile1037700
-Node: Extension Sample Time1038795
-Node: Extension Sample API Tests1040144
-Node: gawkextlib1040635
-Node: Extension summary1043285
-Node: Extension Exercises1046967
-Node: Language History1047689
-Node: V7/SVR3.11049346
-Node: SVR41051527
-Node: POSIX1052972
-Node: BTL1054361
-Node: POSIX/GNU1055095
-Node: Feature History1060664
-Node: Common Extensions1073755
-Node: Ranges and Locales1075079
-Ref: Ranges and Locales-Footnote-11079718
-Ref: Ranges and Locales-Footnote-21079745
-Ref: Ranges and Locales-Footnote-31079979
-Node: Contributors1080200
-Node: History summary1085740
-Node: Installation1087109
-Node: Gawk Distribution1088065
-Node: Getting1088549
-Node: Extracting1089373
-Node: Distribution contents1091015
-Node: Unix Installation1096732
-Node: Quick Installation1097349
-Node: Additional Configuration Options1099780
-Node: Configuration Philosophy1101520
-Node: Non-Unix Installation1103871
-Node: PC Installation1104329
-Node: PC Binary Installation1105655
-Node: PC Compiling1107503
-Ref: PC Compiling-Footnote-11110524
-Node: PC Testing1110629
-Node: PC Using1111805
-Node: Cygwin1115920
-Node: MSYS1116743
-Node: VMS Installation1117241
-Node: VMS Compilation1118033
-Ref: VMS Compilation-Footnote-11119255
-Node: VMS Dynamic Extensions1119313
-Node: VMS Installation Details1120997
-Node: VMS Running1123249
-Node: VMS GNV1126090
-Node: VMS Old Gawk1126824
-Node: Bugs1127294
-Node: Other Versions1131198
-Node: Installation summary1137411
-Node: Notes1138467
-Node: Compatibility Mode1139332
-Node: Additions1140114
-Node: Accessing The Source1141039
-Node: Adding Code1142475
-Node: New Ports1148647
-Node: Derived Files1153129
-Ref: Derived Files-Footnote-11158604
-Ref: Derived Files-Footnote-21158638
-Ref: Derived Files-Footnote-31159234
-Node: Future Extensions1159348
-Node: Implementation Limitations1159954
-Node: Extension Design1161202
-Node: Old Extension Problems1162356
-Ref: Old Extension Problems-Footnote-11163873
-Node: Extension New Mechanism Goals1163930
-Ref: Extension New Mechanism Goals-Footnote-11167290
-Node: Extension Other Design Decisions1167479
-Node: Extension Future Growth1169587
-Node: Old Extension Mechanism1170423
-Node: Notes summary1172185
-Node: Basic Concepts1173371
-Node: Basic High Level1174052
-Ref: figure-general-flow1174324
-Ref: figure-process-flow1174923
-Ref: Basic High Level-Footnote-11178152
-Node: Basic Data Typing1178337
-Node: Glossary1181665
-Node: Copying1206823
-Node: GNU Free Documentation License1244379
-Node: Index1269515
+Ref: AWKPATH Variable-Footnote-1139008
+Ref: AWKPATH Variable-Footnote-2139053
+Node: AWKLIBPATH Variable139313
+Node: Other Environment Variables140456
+Node: Exit Status144176
+Node: Include Files144851
+Node: Loading Shared Libraries148439
+Node: Obsolete149866
+Node: Undocumented150563
+Node: Invoking Summary150830
+Node: Regexp152496
+Node: Regexp Usage153955
+Node: Escape Sequences155988
+Node: Regexp Operators162005
+Ref: Regexp Operators-Footnote-1169439
+Ref: Regexp Operators-Footnote-2169586
+Node: Bracket Expressions169684
+Ref: table-char-classes171701
+Node: Leftmost Longest174641
+Node: Computed Regexps175943
+Node: GNU Regexp Operators179340
+Node: Case-sensitivity183042
+Ref: Case-sensitivity-Footnote-1185932
+Ref: Case-sensitivity-Footnote-2186167
+Node: Regexp Summary186275
+Node: Reading Files187744
+Node: Records189838
+Node: awk split records190570
+Node: gawk split records195484
+Ref: gawk split records-Footnote-1200023
+Node: Fields200060
+Ref: Fields-Footnote-1202858
+Node: Nonconstant Fields202944
+Ref: Nonconstant Fields-Footnote-1205180
+Node: Changing Fields205382
+Node: Field Separators211314
+Node: Default Field Splitting214018
+Node: Regexp Field Splitting215135
+Node: Single Character Fields218485
+Node: Command Line Field Separator219544
+Node: Full Line Fields222756
+Ref: Full Line Fields-Footnote-1223264
+Node: Field Splitting Summary223310
+Ref: Field Splitting Summary-Footnote-1226441
+Node: Constant Size226542
+Node: Splitting By Content231148
+Ref: Splitting By Content-Footnote-1235221
+Node: Multiple Line235261
+Ref: Multiple Line-Footnote-1241150
+Node: Getline241329
+Node: Plain Getline243540
+Node: Getline/Variable246180
+Node: Getline/File247327
+Node: Getline/Variable/File248711
+Ref: Getline/Variable/File-Footnote-1250312
+Node: Getline/Pipe250399
+Node: Getline/Variable/Pipe253082
+Node: Getline/Coprocess254213
+Node: Getline/Variable/Coprocess255465
+Node: Getline Notes256204
+Node: Getline Summary258996
+Ref: table-getline-variants259408
+Node: Read Timeout260237
+Ref: Read Timeout-Footnote-1264051
+Node: Command-line directories264109
+Node: Input Summary265013
+Node: Input Exercises268265
+Node: Printing268993
+Node: Print270770
+Node: Print Examples272227
+Node: Output Separators275006
+Node: OFMT277024
+Node: Printf278378
+Node: Basic Printf279163
+Node: Control Letters280734
+Node: Format Modifiers284718
+Node: Printf Examples290725
+Node: Redirection293207
+Node: Special FD300046
+Ref: Special FD-Footnote-1303203
+Node: Special Files303277
+Node: Other Inherited Files303893
+Node: Special Network304893
+Node: Special Caveats305754
+Node: Close Files And Pipes306705
+Ref: Close Files And Pipes-Footnote-1313884
+Ref: Close Files And Pipes-Footnote-2314032
+Node: Output Summary314182
+Node: Output Exercises315178
+Node: Expressions315858
+Node: Values317043
+Node: Constants317719
+Node: Scalar Constants318399
+Ref: Scalar Constants-Footnote-1319258
+Node: Nondecimal-numbers319508
+Node: Regexp Constants322508
+Node: Using Constant Regexps323033
+Node: Variables326171
+Node: Using Variables326826
+Node: Assignment Options328736
+Node: Conversion330611
+Node: Strings And Numbers331135
+Ref: Strings And Numbers-Footnote-1334199
+Node: Locale influences conversions334308
+Ref: table-locale-affects337053
+Node: All Operators337641
+Node: Arithmetic Ops338271
+Node: Concatenation340776
+Ref: Concatenation-Footnote-1343595
+Node: Assignment Ops343701
+Ref: table-assign-ops348684
+Node: Increment Ops349962
+Node: Truth Values and Conditions353400
+Node: Truth Values354483
+Node: Typing and Comparison355532
+Node: Variable Typing356325
+Node: Comparison Operators359977
+Ref: table-relational-ops360387
+Node: POSIX String Comparison363902
+Ref: POSIX String Comparison-Footnote-1364974
+Node: Boolean Ops365112
+Ref: Boolean Ops-Footnote-1369591
+Node: Conditional Exp369682
+Node: Function Calls371409
+Node: Precedence375289
+Node: Locales378957
+Node: Expressions Summary380588
+Node: Patterns and Actions383162
+Node: Pattern Overview384282
+Node: Regexp Patterns385961
+Node: Expression Patterns386504
+Node: Ranges390284
+Node: BEGIN/END393390
+Node: Using BEGIN/END394152
+Ref: Using BEGIN/END-Footnote-1396889
+Node: I/O And BEGIN/END396995
+Node: BEGINFILE/ENDFILE399309
+Node: Empty402210
+Node: Using Shell Variables402527
+Node: Action Overview404803
+Node: Statements407130
+Node: If Statement408978
+Node: While Statement410476
+Node: Do Statement412504
+Node: For Statement413646
+Node: Switch Statement416801
+Node: Break Statement419189
+Node: Continue Statement421230
+Node: Next Statement423055
+Node: Nextfile Statement425435
+Node: Exit Statement428065
+Node: Built-in Variables430468
+Node: User-modified431601
+Ref: User-modified-Footnote-1439281
+Node: Auto-set439343
+Ref: Auto-set-Footnote-1452373
+Ref: Auto-set-Footnote-2452578
+Node: ARGC and ARGV452634
+Node: Pattern Action Summary456838
+Node: Arrays459265
+Node: Array Basics460594
+Node: Array Intro461438
+Ref: figure-array-elements463402
+Ref: Array Intro-Footnote-1465926
+Node: Reference to Elements466054
+Node: Assigning Elements468504
+Node: Array Example468995
+Node: Scanning an Array470753
+Node: Controlling Scanning473769
+Ref: Controlling Scanning-Footnote-1478958
+Node: Numeric Array Subscripts479274
+Node: Uninitialized Subscripts481459
+Node: Delete483076
+Ref: Delete-Footnote-1485820
+Node: Multidimensional485877
+Node: Multiscanning488972
+Node: Arrays of Arrays490561
+Node: Arrays Summary495322
+Node: Functions497427
+Node: Built-in498300
+Node: Calling Built-in499378
+Node: Numeric Functions501366
+Ref: Numeric Functions-Footnote-1505388
+Ref: Numeric Functions-Footnote-2505745
+Ref: Numeric Functions-Footnote-3505793
+Node: String Functions506062
+Ref: String Functions-Footnote-1529534
+Ref: String Functions-Footnote-2529663
+Ref: String Functions-Footnote-3529911
+Node: Gory Details529998
+Ref: table-sub-escapes531779
+Ref: table-sub-proposed533299
+Ref: table-posix-sub534663
+Ref: table-gensub-escapes536203
+Ref: Gory Details-Footnote-1537035
+Node: I/O Functions537186
+Ref: I/O Functions-Footnote-1544287
+Node: Time Functions544434
+Ref: Time Functions-Footnote-1554903
+Ref: Time Functions-Footnote-2554971
+Ref: Time Functions-Footnote-3555129
+Ref: Time Functions-Footnote-4555240
+Ref: Time Functions-Footnote-5555352
+Ref: Time Functions-Footnote-6555579
+Node: Bitwise Functions555845
+Ref: table-bitwise-ops556407
+Ref: Bitwise Functions-Footnote-1560715
+Node: Type Functions560884
+Node: I18N Functions562033
+Node: User-defined563678
+Node: Definition Syntax564482
+Ref: Definition Syntax-Footnote-1569888
+Node: Function Example569957
+Ref: Function Example-Footnote-1572874
+Node: Function Caveats572896
+Node: Calling A Function573414
+Node: Variable Scope574369
+Node: Pass By Value/Reference577357
+Node: Return Statement580867
+Node: Dynamic Typing583851
+Node: Indirect Calls584780
+Ref: Indirect Calls-Footnote-1596084
+Node: Functions Summary596212
+Node: Library Functions598911
+Ref: Library Functions-Footnote-1602529
+Ref: Library Functions-Footnote-2602672
+Node: Library Names602843
+Ref: Library Names-Footnote-1606303
+Ref: Library Names-Footnote-2606523
+Node: General Functions606609
+Node: Strtonum Function607712
+Node: Assert Function610732
+Node: Round Function614056
+Node: Cliff Random Function615597
+Node: Ordinal Functions616613
+Ref: Ordinal Functions-Footnote-1619678
+Ref: Ordinal Functions-Footnote-2619930
+Node: Join Function620141
+Ref: Join Function-Footnote-1621912
+Node: Getlocaltime Function622112
+Node: Readfile Function625853
+Node: Shell Quoting627823
+Node: Data File Management629224
+Node: Filetrans Function629856
+Node: Rewind Function633915
+Node: File Checking635300
+Ref: File Checking-Footnote-1636628
+Node: Empty Files636829
+Node: Ignoring Assigns638808
+Node: Getopt Function640359
+Ref: Getopt Function-Footnote-1651819
+Node: Passwd Functions652022
+Ref: Passwd Functions-Footnote-1660873
+Node: Group Functions660961
+Ref: Group Functions-Footnote-1668864
+Node: Walking Arrays669077
+Node: Library Functions Summary670680
+Node: Library Exercises672081
+Node: Sample Programs673361
+Node: Running Examples674131
+Node: Clones674859
+Node: Cut Program676083
+Node: Egrep Program685813
+Ref: Egrep Program-Footnote-1693317
+Node: Id Program693427
+Node: Split Program697071
+Ref: Split Program-Footnote-1700517
+Node: Tee Program700645
+Node: Uniq Program703432
+Node: Wc Program710853
+Ref: Wc Program-Footnote-1715101
+Node: Miscellaneous Programs715193
+Node: Dupword Program716406
+Node: Alarm Program718437
+Node: Translate Program723241
+Ref: Translate Program-Footnote-1727805
+Node: Labels Program728075
+Ref: Labels Program-Footnote-1731424
+Node: Word Sorting731508
+Node: History Sorting735578
+Node: Extract Program737414
+Node: Simple Sed744946
+Node: Igawk Program748008
+Ref: Igawk Program-Footnote-1762334
+Ref: Igawk Program-Footnote-2762535
+Ref: Igawk Program-Footnote-3762657
+Node: Anagram Program762772
+Node: Signature Program765834
+Node: Programs Summary767081
+Node: Programs Exercises768274
+Ref: Programs Exercises-Footnote-1772405
+Node: Advanced Features772496
+Node: Nondecimal Data774444
+Node: Array Sorting776034
+Node: Controlling Array Traversal776731
+Ref: Controlling Array Traversal-Footnote-1785062
+Node: Array Sorting Functions785180
+Ref: Array Sorting Functions-Footnote-1789072
+Node: Two-way I/O789266
+Ref: Two-way I/O-Footnote-1794210
+Ref: Two-way I/O-Footnote-2794396
+Node: TCP/IP Networking794478
+Node: Profiling797350
+Node: Advanced Features Summary804894
+Node: Internationalization806827
+Node: I18N and L10N808307
+Node: Explaining gettext808993
+Ref: Explaining gettext-Footnote-1814022
+Ref: Explaining gettext-Footnote-2814206
+Node: Programmer i18n814371
+Ref: Programmer i18n-Footnote-1819237
+Node: Translator i18n819286
+Node: String Extraction820080
+Ref: String Extraction-Footnote-1821211
+Node: Printf Ordering821297
+Ref: Printf Ordering-Footnote-1824083
+Node: I18N Portability824147
+Ref: I18N Portability-Footnote-1826596
+Node: I18N Example826659
+Ref: I18N Example-Footnote-1829459
+Node: Gawk I18N829531
+Node: I18N Summary830169
+Node: Debugger831508
+Node: Debugging832530
+Node: Debugging Concepts832971
+Node: Debugging Terms834828
+Node: Awk Debugging837403
+Node: Sample Debugging Session838295
+Node: Debugger Invocation838815
+Node: Finding The Bug840199
+Node: List of Debugger Commands846674
+Node: Breakpoint Control848006
+Node: Debugger Execution Control851698
+Node: Viewing And Changing Data855062
+Node: Execution Stack858427
+Node: Debugger Info860065
+Node: Miscellaneous Debugger Commands864082
+Node: Readline Support869274
+Node: Limitations870166
+Node: Debugging Summary872263
+Node: Arbitrary Precision Arithmetic873431
+Node: Computer Arithmetic874847
+Ref: table-numeric-ranges878448
+Ref: Computer Arithmetic-Footnote-1879307
+Node: Math Definitions879364
+Ref: table-ieee-formats882651
+Ref: Math Definitions-Footnote-1883255
+Node: MPFR features883360
+Node: FP Math Caution885031
+Ref: FP Math Caution-Footnote-1886081
+Node: Inexactness of computations886450
+Node: Inexact representation887398
+Node: Comparing FP Values888753
+Node: Errors accumulate889826
+Node: Getting Accuracy891259
+Node: Try To Round893918
+Node: Setting precision894817
+Ref: table-predefined-precision-strings895501
+Node: Setting the rounding mode897295
+Ref: table-gawk-rounding-modes897659
+Ref: Setting the rounding mode-Footnote-1901113
+Node: Arbitrary Precision Integers901292
+Ref: Arbitrary Precision Integers-Footnote-1904283
+Node: POSIX Floating Point Problems904432
+Ref: POSIX Floating Point Problems-Footnote-1908308
+Node: Floating point summary908346
+Node: Dynamic Extensions910538
+Node: Extension Intro912090
+Node: Plugin License913356
+Node: Extension Mechanism Outline914153
+Ref: figure-load-extension914581
+Ref: figure-register-new-function916061
+Ref: figure-call-new-function917065
+Node: Extension API Description919051
+Node: Extension API Functions Introduction920501
+Node: General Data Types925337
+Ref: General Data Types-Footnote-1931024
+Node: Memory Allocation Functions931323
+Ref: Memory Allocation Functions-Footnote-1934153
+Node: Constructor Functions934249
+Node: Registration Functions935983
+Node: Extension Functions936668
+Node: Exit Callback Functions938964
+Node: Extension Version String940212
+Node: Input Parsers940862
+Node: Output Wrappers950677
+Node: Two-way processors955193
+Node: Printing Messages957397
+Ref: Printing Messages-Footnote-1958474
+Node: Updating `ERRNO'958626
+Node: Requesting Values959366
+Ref: table-value-types-returned960094
+Node: Accessing Parameters961052
+Node: Symbol Table Access962283
+Node: Symbol table by name962797
+Node: Symbol table by cookie964777
+Ref: Symbol table by cookie-Footnote-1968916
+Node: Cached values968979
+Ref: Cached values-Footnote-1972483
+Node: Array Manipulation972574
+Ref: Array Manipulation-Footnote-1973672
+Node: Array Data Types973711
+Ref: Array Data Types-Footnote-1976368
+Node: Array Functions976460
+Node: Flattening Arrays980314
+Node: Creating Arrays987201
+Node: Extension API Variables991968
+Node: Extension Versioning992604
+Node: Extension API Informational Variables994505
+Node: Extension API Boilerplate995593
+Node: Finding Extensions999409
+Node: Extension Example999969
+Node: Internal File Description1000741
+Node: Internal File Ops1004808
+Ref: Internal File Ops-Footnote-11016466
+Node: Using Internal File Ops1016606
+Ref: Using Internal File Ops-Footnote-11018989
+Node: Extension Samples1019262
+Node: Extension Sample File Functions1020786
+Node: Extension Sample Fnmatch1028388
+Node: Extension Sample Fork1029870
+Node: Extension Sample Inplace1031083
+Node: Extension Sample Ord1032758
+Node: Extension Sample Readdir1033594
+Ref: table-readdir-file-types1034450
+Node: Extension Sample Revout1035261
+Node: Extension Sample Rev2way1035852
+Node: Extension Sample Read write array1036593
+Node: Extension Sample Readfile1038532
+Node: Extension Sample Time1039627
+Node: Extension Sample API Tests1040976
+Node: gawkextlib1041467
+Node: Extension summary1044117
+Node: Extension Exercises1047799
+Node: Language History1048521
+Node: V7/SVR3.11050178
+Node: SVR41052359
+Node: POSIX1053804
+Node: BTL1055193
+Node: POSIX/GNU1055927
+Node: Feature History1061496
+Node: Common Extensions1074587
+Node: Ranges and Locales1075911
+Ref: Ranges and Locales-Footnote-11080550
+Ref: Ranges and Locales-Footnote-21080577
+Ref: Ranges and Locales-Footnote-31080811
+Node: Contributors1081032
+Node: History summary1086572
+Node: Installation1087941
+Node: Gawk Distribution1088897
+Node: Getting1089381
+Node: Extracting1090205
+Node: Distribution contents1091847
+Node: Unix Installation1097564
+Node: Quick Installation1098181
+Node: Additional Configuration Options1100612
+Node: Configuration Philosophy1102352
+Node: Non-Unix Installation1104703
+Node: PC Installation1105161
+Node: PC Binary Installation1106487
+Node: PC Compiling1108335
+Ref: PC Compiling-Footnote-11111356
+Node: PC Testing1111461
+Node: PC Using1112637
+Node: Cygwin1116752
+Node: MSYS1117575
+Node: VMS Installation1118073
+Node: VMS Compilation1118865
+Ref: VMS Compilation-Footnote-11120087
+Node: VMS Dynamic Extensions1120145
+Node: VMS Installation Details1121829
+Node: VMS Running1124081
+Node: VMS GNV1126922
+Node: VMS Old Gawk1127656
+Node: Bugs1128126
+Node: Other Versions1132030
+Node: Installation summary1138243
+Node: Notes1139299
+Node: Compatibility Mode1140164
+Node: Additions1140946
+Node: Accessing The Source1141871
+Node: Adding Code1143307
+Node: New Ports1149479
+Node: Derived Files1153961
+Ref: Derived Files-Footnote-11159436
+Ref: Derived Files-Footnote-21159470
+Ref: Derived Files-Footnote-31160066
+Node: Future Extensions1160180
+Node: Implementation Limitations1160786
+Node: Extension Design1162034
+Node: Old Extension Problems1163188
+Ref: Old Extension Problems-Footnote-11164705
+Node: Extension New Mechanism Goals1164762
+Ref: Extension New Mechanism Goals-Footnote-11168122
+Node: Extension Other Design Decisions1168311
+Node: Extension Future Growth1170419
+Node: Old Extension Mechanism1171255
+Node: Notes summary1173017
+Node: Basic Concepts1174203
+Node: Basic High Level1174884
+Ref: figure-general-flow1175156
+Ref: figure-process-flow1175755
+Ref: Basic High Level-Footnote-11178984
+Node: Basic Data Typing1179169
+Node: Glossary1182497
+Node: Copying1207655
+Node: GNU Free Documentation License1245211
+Node: Index1270347

End Tag Table