From d680707683794b92f2fc69e71dcb5b2a154598be Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 19 Jan 2015 06:32:17 +0200 Subject: Doc edits. --- doc/gawk.info | 1155 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 578 insertions(+), 577 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 4b016405..47f21442 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -9,7 +9,7 @@ START-INFO-DIR-ENTRY * awk: (gawk)Invoking gawk. Text scanning and processing. END-INFO-DIR-ENTRY - Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2014 + Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2015 Free Software Foundation, Inc. @@ -37,7 +37,7 @@ General Introduction This file documents `awk', a program that you can use to select particular records in a file and perform operations upon them. - Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2014 + Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2015 Free Software Foundation, Inc. @@ -747,10 +747,10 @@ and associative arrays. Those looking for something new can try out The programs in this book make clear that an AWK program is typically much smaller and faster to develop than a counterpart written -in C. Consequently, there is often a payoff to prototype an algorithm -or design in AWK to get it running quickly and expose problems early. -Often, the interpreted performance is adequate and the AWK prototype -becomes the product. +in C. Consequently, there is often a payoff to prototyping an +algorithm or design in AWK to get it running quickly and expose +problems early. Often, the interpreted performance is adequate and the +AWK prototype becomes the product. The new `pgawk' (profiling `gawk'), produces program execution counts. I recently experimented with an algorithm that for n lines of @@ -774,16 +774,16 @@ Foreword to the Fourth Edition ****************************** Some things don't change. Thirteen years ago I wrote: "If you use AWK -or want to learn how, then read this book." True then and still true +or want to learn how, then read this book." True then, and still true today. - Learning to use a programming language is more than mastering the -syntax. One needs to acquire an understanding of how to use the + Learning to use a programming language is about more than mastering +the syntax. One needs to acquire an understanding of how to use the features of the language to solve practical programming problems. A focus of this book is many examples that show how to use AWK. Some things do change. Our computers are much faster and have more -memory. Consequently, speed and storage inefficiencies of a high level +memory. Consequently, speed and storage inefficiencies of a high-level language matter less. Prototyping in AWK and then rewriting in C for performance reasons happens less, because more often the prototype is fast enough. @@ -792,9 +792,9 @@ fast enough. C++. With `gawk' 4.1 and later, you do not have to choose between writing your program in AWK or in C/C++. You can write most of your program in AWK and the aspects that require C/C++ capabilities can be -written in C/C++ and then the pieces glued together when the `gawk' +written in C/C++, and then the pieces glued together when the `gawk' module loads the C/C++ module as a dynamic plug-in. *note Dynamic -Extensions::, has all the details, and as expected, many examples to +Extensions::, has all the details, and, as expected, many examples to help you learn the ins and outs. I enjoy programming in AWK and had fun (re)reading this book. I @@ -833,7 +833,7 @@ So most of the time, we don't distinguish between `gawk' and other * Validate data - * Produce indexes and perform other document preparation tasks + * Produce indexes and perform other document-preparation tasks * Experiment with algorithms that you can adapt later to other computer languages @@ -925,7 +925,7 @@ advice from Richard Stallman. John Woods contributed parts of the code as well. In 1988 and 1989, David Trueman, with help from me, thoroughly reworked `gawk' for compatibility with the newer `awk'. Circa 1994, I became the primary maintainer. Current development -focuses on bug fixes, performance improvements, standards compliance +focuses on bug fixes, performance improvements, standards compliance, and, occasionally, new features. In May 1997, Ju"rgen Kahrs felt the need for network access from @@ -937,10 +937,10 @@ the `gawk' distribution). His code finally became part of the main John Haque rewrote the `gawk' internals, in the process providing an `awk'-level debugger. This version became available as `gawk' version -4.0, in 2011. +4.0 in 2011. - *Note Contributors::, for a full list of those who made important -contributions to `gawk'. + *Note Contributors::, for a full list of those who have made +important contributions to `gawk'.  File: gawk.info, Node: Names, Next: This Manual, Prev: History, Up: Preface @@ -953,7 +953,7 @@ provided in *note Language History::. The language described in this Info file is often referred to as "new `awk'." By analogy, the original version of `awk' is referred to as "old `awk'." - Today, on most systems, when you run the `awk' utility, you get some + Today, on most systems, when you run the `awk' utility you get some version of new `awk'.(1) If your system's standard `awk' is the old one, you will see something like this if you try the test program: @@ -1013,9 +1013,9 @@ in *note Sample Programs::, should be of interest. This Info file is split into several parts, as follows: - * Part I describes the `awk' language and `gawk' program in detail. - It starts with the basics, and continues through all of the - features of `awk'. It contains the following chapters: + * Part I describes the `awk' language and the `gawk' program in + detail. It starts with the basics, and continues through all of + the features of `awk'. It contains the following chapters: - *note Getting Started::, provides the essentials you need to know to begin using `awk'. @@ -1046,9 +1046,10 @@ in *note Sample Programs::, should be of interest. `gawk' use. - *note Arrays::, covers `awk''s one-and-only data structure: - associative arrays. Deleting array elements and whole arrays - is also described, as well as sorting arrays in `gawk'. It - also describes how `gawk' provides arrays of arrays. + the associative array. Deleting array elements and whole + arrays is also described, as well as sorting arrays in + `gawk'. It also describes how `gawk' provides arrays of + arrays. - *note Functions::, describes the built-in functions `awk' and `gawk' provide, as well as how to define your own functions. @@ -34301,558 +34302,558 @@ Index Tag Table: Node: Top1204 Node: Foreword342156 -Node: Foreword446598 -Node: Preface48120 -Ref: Preface-Footnote-150991 -Ref: Preface-Footnote-251098 -Ref: Preface-Footnote-351331 -Node: History51473 -Node: Names53819 -Ref: Names-Footnote-154913 -Node: This Manual55059 -Ref: This Manual-Footnote-161546 -Node: Conventions61646 -Node: Manual History63984 -Ref: Manual History-Footnote-166966 -Ref: Manual History-Footnote-267007 -Node: How To Contribute67081 -Node: Acknowledgments68210 -Node: Getting Started73015 -Node: Running gawk75448 -Node: One-shot76638 -Node: Read Terminal77886 -Node: Long79913 -Node: Executable Scripts81429 -Ref: Executable Scripts-Footnote-184218 -Node: Comments84321 -Node: Quoting86803 -Node: DOS Quoting92327 -Node: Sample Data Files93002 -Node: Very Simple95597 -Node: Two Rules100495 -Node: More Complex102381 -Node: Statements/Lines105243 -Ref: Statements/Lines-Footnote-1109698 -Node: Other Features109963 -Node: When110894 -Ref: When-Footnote-1112648 -Node: Intro Summary112713 -Node: Invoking Gawk113596 -Node: Command Line115110 -Node: Options115908 -Ref: Options-Footnote-1131841 -Ref: Options-Footnote-2132070 -Node: Other Arguments132095 -Node: Naming Standard Input135043 -Node: Environment Variables136136 -Node: AWKPATH Variable136694 -Ref: AWKPATH Variable-Footnote-1139997 -Ref: AWKPATH Variable-Footnote-2140042 -Node: AWKLIBPATH Variable140302 -Node: Other Environment Variables141445 -Node: Exit Status145173 -Node: Include Files145849 -Node: Loading Shared Libraries149446 -Node: Obsolete150873 -Node: Undocumented151570 -Node: Invoking Summary151837 -Node: Regexp153501 -Node: Regexp Usage154955 -Node: Escape Sequences156992 -Node: Regexp Operators163003 -Ref: Regexp Operators-Footnote-1170429 -Ref: Regexp Operators-Footnote-2170576 -Node: Bracket Expressions170674 -Ref: table-char-classes172689 -Node: Leftmost Longest175613 -Node: Computed Regexps176915 -Node: GNU Regexp Operators180312 -Node: Case-sensitivity183985 -Ref: Case-sensitivity-Footnote-1186870 -Ref: Case-sensitivity-Footnote-2187105 -Node: Regexp Summary187213 -Node: Reading Files188680 -Node: Records190774 -Node: awk split records191507 -Node: gawk split records196422 -Ref: gawk split records-Footnote-1200966 -Node: Fields201003 -Ref: Fields-Footnote-1203779 -Node: Nonconstant Fields203865 -Ref: Nonconstant Fields-Footnote-1206108 -Node: Changing Fields206312 -Node: Field Separators212241 -Node: Default Field Splitting214946 -Node: Regexp Field Splitting216063 -Node: Single Character Fields219413 -Node: Command Line Field Separator220472 -Node: Full Line Fields223684 -Ref: Full Line Fields-Footnote-1225201 -Ref: Full Line Fields-Footnote-2225247 -Node: Field Splitting Summary225348 -Node: Constant Size227422 -Node: Splitting By Content232011 -Ref: Splitting By Content-Footnote-1236005 -Node: Multiple Line236168 -Ref: Multiple Line-Footnote-1242054 -Node: Getline242233 -Node: Plain Getline244445 -Node: Getline/Variable247085 -Node: Getline/File248233 -Node: Getline/Variable/File249617 -Ref: Getline/Variable/File-Footnote-1251220 -Node: Getline/Pipe251307 -Node: Getline/Variable/Pipe253990 -Node: Getline/Coprocess255121 -Node: Getline/Variable/Coprocess256373 -Node: Getline Notes257112 -Node: Getline Summary259904 -Ref: table-getline-variants260316 -Node: Read Timeout261145 -Ref: Read Timeout-Footnote-1264970 -Node: Command-line directories265028 -Node: Input Summary265933 -Node: Input Exercises269234 -Node: Printing269962 -Node: Print271739 -Node: Print Examples273196 -Node: Output Separators275975 -Node: OFMT277993 -Node: Printf279347 -Node: Basic Printf280132 -Node: Control Letters281702 -Node: Format Modifiers285685 -Node: Printf Examples291694 -Node: Redirection294180 -Node: Special FD301021 -Ref: Special FD-Footnote-1304181 -Node: Special Files304255 -Node: Other Inherited Files304872 -Node: Special Network305872 -Node: Special Caveats306734 -Node: Close Files And Pipes307685 -Ref: Close Files And Pipes-Footnote-1314867 -Ref: Close Files And Pipes-Footnote-2315015 -Node: Output Summary315165 -Node: Output Exercises316163 -Node: Expressions316843 -Node: Values318028 -Node: Constants318706 -Node: Scalar Constants319397 -Ref: Scalar Constants-Footnote-1320256 -Node: Nondecimal-numbers320506 -Node: Regexp Constants323524 -Node: Using Constant Regexps324049 -Node: Variables327192 -Node: Using Variables327847 -Node: Assignment Options329758 -Node: Conversion331633 -Node: Strings And Numbers332157 -Ref: Strings And Numbers-Footnote-1335222 -Node: Locale influences conversions335331 -Ref: table-locale-affects338078 -Node: All Operators338666 -Node: Arithmetic Ops339296 -Node: Concatenation341801 -Ref: Concatenation-Footnote-1344620 -Node: Assignment Ops344726 -Ref: table-assign-ops349705 -Node: Increment Ops350977 -Node: Truth Values and Conditions354415 -Node: Truth Values355500 -Node: Typing and Comparison356549 -Node: Variable Typing357359 -Node: Comparison Operators361012 -Ref: table-relational-ops361422 -Node: POSIX String Comparison364917 -Ref: POSIX String Comparison-Footnote-1365989 -Node: Boolean Ops366127 -Ref: Boolean Ops-Footnote-1370606 -Node: Conditional Exp370697 -Node: Function Calls372424 -Node: Precedence376304 -Node: Locales379965 -Node: Expressions Summary381597 -Node: Patterns and Actions384157 -Node: Pattern Overview385277 -Node: Regexp Patterns386956 -Node: Expression Patterns387499 -Node: Ranges391209 -Node: BEGIN/END394315 -Node: Using BEGIN/END395076 -Ref: Using BEGIN/END-Footnote-1397810 -Node: I/O And BEGIN/END397916 -Node: BEGINFILE/ENDFILE400230 -Node: Empty403131 -Node: Using Shell Variables403448 -Node: Action Overview405721 -Node: Statements408047 -Node: If Statement409895 -Node: While Statement411390 -Node: Do Statement413419 -Node: For Statement414563 -Node: Switch Statement417720 -Node: Break Statement420102 -Node: Continue Statement422143 -Node: Next Statement423970 -Node: Nextfile Statement426351 -Node: Exit Statement428981 -Node: Built-in Variables431384 -Node: User-modified432517 -Ref: User-modified-Footnote-1440198 -Node: Auto-set440260 -Ref: Auto-set-Footnote-1453295 -Ref: Auto-set-Footnote-2453500 -Node: ARGC and ARGV453556 -Node: Pattern Action Summary457774 -Node: Arrays460201 -Node: Array Basics461530 -Node: Array Intro462374 -Ref: figure-array-elements464338 -Ref: Array Intro-Footnote-1466864 -Node: Reference to Elements466992 -Node: Assigning Elements469444 -Node: Array Example469935 -Node: Scanning an Array471693 -Node: Controlling Scanning474709 -Ref: Controlling Scanning-Footnote-1479905 -Node: Numeric Array Subscripts480221 -Node: Uninitialized Subscripts482406 -Node: Delete484023 -Ref: Delete-Footnote-1486766 -Node: Multidimensional486823 -Node: Multiscanning489920 -Node: Arrays of Arrays491509 -Node: Arrays Summary496268 -Node: Functions498360 -Node: Built-in499259 -Node: Calling Built-in500337 -Node: Numeric Functions502328 -Ref: Numeric Functions-Footnote-1506345 -Ref: Numeric Functions-Footnote-2506702 -Ref: Numeric Functions-Footnote-3506750 -Node: String Functions507022 -Ref: String Functions-Footnote-1530497 -Ref: String Functions-Footnote-2530626 -Ref: String Functions-Footnote-3530874 -Node: Gory Details530961 -Ref: table-sub-escapes532742 -Ref: table-sub-proposed534262 -Ref: table-posix-sub535626 -Ref: table-gensub-escapes537162 -Ref: Gory Details-Footnote-1537994 -Node: I/O Functions538145 -Ref: I/O Functions-Footnote-1545363 -Node: Time Functions545510 -Ref: Time Functions-Footnote-1555998 -Ref: Time Functions-Footnote-2556066 -Ref: Time Functions-Footnote-3556224 -Ref: Time Functions-Footnote-4556335 -Ref: Time Functions-Footnote-5556447 -Ref: Time Functions-Footnote-6556674 -Node: Bitwise Functions556940 -Ref: table-bitwise-ops557502 -Ref: Bitwise Functions-Footnote-1561811 -Node: Type Functions561980 -Node: I18N Functions563131 -Node: User-defined564776 -Node: Definition Syntax565581 -Ref: Definition Syntax-Footnote-1570988 -Node: Function Example571059 -Ref: Function Example-Footnote-1573978 -Node: Function Caveats574000 -Node: Calling A Function574518 -Node: Variable Scope575476 -Node: Pass By Value/Reference578464 -Node: Return Statement581959 -Node: Dynamic Typing584940 -Node: Indirect Calls585869 -Ref: Indirect Calls-Footnote-1597171 -Node: Functions Summary597299 -Node: Library Functions600001 -Ref: Library Functions-Footnote-1603610 -Ref: Library Functions-Footnote-2603753 -Node: Library Names603924 -Ref: Library Names-Footnote-1607378 -Ref: Library Names-Footnote-2607601 -Node: General Functions607687 -Node: Strtonum Function608790 -Node: Assert Function611812 -Node: Round Function615136 -Node: Cliff Random Function616677 -Node: Ordinal Functions617693 -Ref: Ordinal Functions-Footnote-1620756 -Ref: Ordinal Functions-Footnote-2621008 -Node: Join Function621219 -Ref: Join Function-Footnote-1622988 -Node: Getlocaltime Function623188 -Node: Readfile Function626932 -Node: Shell Quoting628902 -Node: Data File Management630303 -Node: Filetrans Function630935 -Node: Rewind Function634991 -Node: File Checking636378 -Ref: File Checking-Footnote-1637710 -Node: Empty Files637911 -Node: Ignoring Assigns639890 -Node: Getopt Function641441 -Ref: Getopt Function-Footnote-1652903 -Node: Passwd Functions653103 -Ref: Passwd Functions-Footnote-1661940 -Node: Group Functions662028 -Ref: Group Functions-Footnote-1669922 -Node: Walking Arrays670135 -Node: Library Functions Summary671738 -Node: Library Exercises673139 -Node: Sample Programs674419 -Node: Running Examples675189 -Node: Clones675917 -Node: Cut Program677141 -Node: Egrep Program686860 -Ref: Egrep Program-Footnote-1694358 -Node: Id Program694468 -Node: Split Program698113 -Ref: Split Program-Footnote-1701561 -Node: Tee Program701689 -Node: Uniq Program704478 -Node: Wc Program711897 -Ref: Wc Program-Footnote-1716147 -Node: Miscellaneous Programs716241 -Node: Dupword Program717454 -Node: Alarm Program719485 -Node: Translate Program724289 -Ref: Translate Program-Footnote-1728854 -Node: Labels Program729124 -Ref: Labels Program-Footnote-1732475 -Node: Word Sorting732559 -Node: History Sorting736630 -Node: Extract Program738466 -Node: Simple Sed745991 -Node: Igawk Program749059 -Ref: Igawk Program-Footnote-1763383 -Ref: Igawk Program-Footnote-2763584 -Ref: Igawk Program-Footnote-3763706 -Node: Anagram Program763821 -Node: Signature Program766878 -Node: Programs Summary768125 -Node: Programs Exercises769318 -Ref: Programs Exercises-Footnote-1773449 -Node: Advanced Features773540 -Node: Nondecimal Data775488 -Node: Array Sorting777078 -Node: Controlling Array Traversal777775 -Ref: Controlling Array Traversal-Footnote-1786108 -Node: Array Sorting Functions786226 -Ref: Array Sorting Functions-Footnote-1790115 -Node: Two-way I/O790311 -Ref: Two-way I/O-Footnote-1795256 -Ref: Two-way I/O-Footnote-2795442 -Node: TCP/IP Networking795524 -Node: Profiling798397 -Node: Advanced Features Summary805944 -Node: Internationalization807877 -Node: I18N and L10N809357 -Node: Explaining gettext810043 -Ref: Explaining gettext-Footnote-1815068 -Ref: Explaining gettext-Footnote-2815252 -Node: Programmer i18n815417 -Ref: Programmer i18n-Footnote-1820283 -Node: Translator i18n820332 -Node: String Extraction821126 -Ref: String Extraction-Footnote-1822257 -Node: Printf Ordering822343 -Ref: Printf Ordering-Footnote-1825129 -Node: I18N Portability825193 -Ref: I18N Portability-Footnote-1827648 -Node: I18N Example827711 -Ref: I18N Example-Footnote-1830514 -Node: Gawk I18N830586 -Node: I18N Summary831224 -Node: Debugger832563 -Node: Debugging833585 -Node: Debugging Concepts834026 -Node: Debugging Terms835879 -Node: Awk Debugging838451 -Node: Sample Debugging Session839345 -Node: Debugger Invocation839865 -Node: Finding The Bug841249 -Node: List of Debugger Commands847724 -Node: Breakpoint Control849057 -Node: Debugger Execution Control852753 -Node: Viewing And Changing Data856117 -Node: Execution Stack859495 -Node: Debugger Info861132 -Node: Miscellaneous Debugger Commands865149 -Node: Readline Support870178 -Node: Limitations871070 -Node: Debugging Summary873184 -Node: Arbitrary Precision Arithmetic874352 -Node: Computer Arithmetic875768 -Ref: table-numeric-ranges879366 -Ref: Computer Arithmetic-Footnote-1880225 -Node: Math Definitions880282 -Ref: table-ieee-formats883570 -Ref: Math Definitions-Footnote-1884174 -Node: MPFR features884279 -Node: FP Math Caution885950 -Ref: FP Math Caution-Footnote-1887000 -Node: Inexactness of computations887369 -Node: Inexact representation888328 -Node: Comparing FP Values889685 -Node: Errors accumulate890767 -Node: Getting Accuracy892200 -Node: Try To Round894862 -Node: Setting precision895761 -Ref: table-predefined-precision-strings896445 -Node: Setting the rounding mode898234 -Ref: table-gawk-rounding-modes898598 -Ref: Setting the rounding mode-Footnote-1902053 -Node: Arbitrary Precision Integers902232 -Ref: Arbitrary Precision Integers-Footnote-1905218 -Node: POSIX Floating Point Problems905367 -Ref: POSIX Floating Point Problems-Footnote-1909240 -Node: Floating point summary909278 -Node: Dynamic Extensions911472 -Node: Extension Intro913024 -Node: Plugin License914290 -Node: Extension Mechanism Outline915087 -Ref: figure-load-extension915515 -Ref: figure-register-new-function916995 -Ref: figure-call-new-function917999 -Node: Extension API Description919985 -Node: Extension API Functions Introduction921435 -Node: General Data Types926259 -Ref: General Data Types-Footnote-1931998 -Node: Memory Allocation Functions932297 -Ref: Memory Allocation Functions-Footnote-1935136 -Node: Constructor Functions935232 -Node: Registration Functions936966 -Node: Extension Functions937651 -Node: Exit Callback Functions939948 -Node: Extension Version String941196 -Node: Input Parsers941861 -Node: Output Wrappers951740 -Node: Two-way processors956255 -Node: Printing Messages958459 -Ref: Printing Messages-Footnote-1959535 -Node: Updating `ERRNO'959687 -Node: Requesting Values960427 -Ref: table-value-types-returned961155 -Node: Accessing Parameters962112 -Node: Symbol Table Access963343 -Node: Symbol table by name963857 -Node: Symbol table by cookie965838 -Ref: Symbol table by cookie-Footnote-1969982 -Node: Cached values970045 -Ref: Cached values-Footnote-1973544 -Node: Array Manipulation973635 -Ref: Array Manipulation-Footnote-1974733 -Node: Array Data Types974770 -Ref: Array Data Types-Footnote-1977425 -Node: Array Functions977517 -Node: Flattening Arrays981371 -Node: Creating Arrays988263 -Node: Extension API Variables993034 -Node: Extension Versioning993670 -Node: Extension API Informational Variables995571 -Node: Extension API Boilerplate996636 -Node: Finding Extensions1000445 -Node: Extension Example1001005 -Node: Internal File Description1001777 -Node: Internal File Ops1005844 -Ref: Internal File Ops-Footnote-11017514 -Node: Using Internal File Ops1017654 -Ref: Using Internal File Ops-Footnote-11020037 -Node: Extension Samples1020310 -Node: Extension Sample File Functions1021836 -Node: Extension Sample Fnmatch1029474 -Node: Extension Sample Fork1030965 -Node: Extension Sample Inplace1032180 -Node: Extension Sample Ord1033855 -Node: Extension Sample Readdir1034691 -Ref: table-readdir-file-types1035567 -Node: Extension Sample Revout1036378 -Node: Extension Sample Rev2way1036968 -Node: Extension Sample Read write array1037708 -Node: Extension Sample Readfile1039648 -Node: Extension Sample Time1040743 -Node: Extension Sample API Tests1042092 -Node: gawkextlib1042583 -Node: Extension summary1045241 -Node: Extension Exercises1048930 -Node: Language History1049652 -Node: V7/SVR3.11051308 -Node: SVR41053489 -Node: POSIX1054934 -Node: BTL1056323 -Node: POSIX/GNU1057057 -Node: Feature History1062621 -Node: Common Extensions1075719 -Node: Ranges and Locales1077043 -Ref: Ranges and Locales-Footnote-11081661 -Ref: Ranges and Locales-Footnote-21081688 -Ref: Ranges and Locales-Footnote-31081922 -Node: Contributors1082143 -Node: History summary1087684 -Node: Installation1089054 -Node: Gawk Distribution1090000 -Node: Getting1090484 -Node: Extracting1091307 -Node: Distribution contents1092942 -Node: Unix Installation1098659 -Node: Quick Installation1099276 -Node: Additional Configuration Options1101700 -Node: Configuration Philosophy1103438 -Node: Non-Unix Installation1105807 -Node: PC Installation1106265 -Node: PC Binary Installation1107584 -Node: PC Compiling1109432 -Ref: PC Compiling-Footnote-11112453 -Node: PC Testing1112562 -Node: PC Using1113738 -Node: Cygwin1117853 -Node: MSYS1118676 -Node: VMS Installation1119176 -Node: VMS Compilation1119968 -Ref: VMS Compilation-Footnote-11121190 -Node: VMS Dynamic Extensions1121248 -Node: VMS Installation Details1122932 -Node: VMS Running1125184 -Node: VMS GNV1128020 -Node: VMS Old Gawk1128754 -Node: Bugs1129224 -Node: Other Versions1133107 -Node: Installation summary1139535 -Node: Notes1140591 -Node: Compatibility Mode1141456 -Node: Additions1142238 -Node: Accessing The Source1143163 -Node: Adding Code1144599 -Node: New Ports1150764 -Node: Derived Files1155246 -Ref: Derived Files-Footnote-11160721 -Ref: Derived Files-Footnote-21160755 -Ref: Derived Files-Footnote-31161351 -Node: Future Extensions1161465 -Node: Implementation Limitations1162071 -Node: Extension Design1163319 -Node: Old Extension Problems1164473 -Ref: Old Extension Problems-Footnote-11165990 -Node: Extension New Mechanism Goals1166047 -Ref: Extension New Mechanism Goals-Footnote-11169407 -Node: Extension Other Design Decisions1169596 -Node: Extension Future Growth1171704 -Node: Old Extension Mechanism1172540 -Node: Notes summary1174302 -Node: Basic Concepts1175488 -Node: Basic High Level1176169 -Ref: figure-general-flow1176441 -Ref: figure-process-flow1177040 -Ref: Basic High Level-Footnote-11180269 -Node: Basic Data Typing1180454 -Node: Glossary1183782 -Node: Copying1208940 -Node: GNU Free Documentation License1246496 -Node: Index1271632 +Node: Foreword446600 +Node: Preface48131 +Ref: Preface-Footnote-151002 +Ref: Preface-Footnote-251109 +Ref: Preface-Footnote-351342 +Node: History51484 +Node: Names53835 +Ref: Names-Footnote-154928 +Node: This Manual55074 +Ref: This Manual-Footnote-161579 +Node: Conventions61679 +Node: Manual History64017 +Ref: Manual History-Footnote-166999 +Ref: Manual History-Footnote-267040 +Node: How To Contribute67114 +Node: Acknowledgments68243 +Node: Getting Started73048 +Node: Running gawk75481 +Node: One-shot76671 +Node: Read Terminal77919 +Node: Long79946 +Node: Executable Scripts81462 +Ref: Executable Scripts-Footnote-184251 +Node: Comments84354 +Node: Quoting86836 +Node: DOS Quoting92360 +Node: Sample Data Files93035 +Node: Very Simple95630 +Node: Two Rules100528 +Node: More Complex102414 +Node: Statements/Lines105276 +Ref: Statements/Lines-Footnote-1109731 +Node: Other Features109996 +Node: When110927 +Ref: When-Footnote-1112681 +Node: Intro Summary112746 +Node: Invoking Gawk113629 +Node: Command Line115143 +Node: Options115941 +Ref: Options-Footnote-1131874 +Ref: Options-Footnote-2132103 +Node: Other Arguments132128 +Node: Naming Standard Input135076 +Node: Environment Variables136169 +Node: AWKPATH Variable136727 +Ref: AWKPATH Variable-Footnote-1140030 +Ref: AWKPATH Variable-Footnote-2140075 +Node: AWKLIBPATH Variable140335 +Node: Other Environment Variables141478 +Node: Exit Status145206 +Node: Include Files145882 +Node: Loading Shared Libraries149479 +Node: Obsolete150906 +Node: Undocumented151603 +Node: Invoking Summary151870 +Node: Regexp153534 +Node: Regexp Usage154988 +Node: Escape Sequences157025 +Node: Regexp Operators163036 +Ref: Regexp Operators-Footnote-1170462 +Ref: Regexp Operators-Footnote-2170609 +Node: Bracket Expressions170707 +Ref: table-char-classes172722 +Node: Leftmost Longest175646 +Node: Computed Regexps176948 +Node: GNU Regexp Operators180345 +Node: Case-sensitivity184018 +Ref: Case-sensitivity-Footnote-1186903 +Ref: Case-sensitivity-Footnote-2187138 +Node: Regexp Summary187246 +Node: Reading Files188713 +Node: Records190807 +Node: awk split records191540 +Node: gawk split records196455 +Ref: gawk split records-Footnote-1200999 +Node: Fields201036 +Ref: Fields-Footnote-1203812 +Node: Nonconstant Fields203898 +Ref: Nonconstant Fields-Footnote-1206141 +Node: Changing Fields206345 +Node: Field Separators212274 +Node: Default Field Splitting214979 +Node: Regexp Field Splitting216096 +Node: Single Character Fields219446 +Node: Command Line Field Separator220505 +Node: Full Line Fields223717 +Ref: Full Line Fields-Footnote-1225234 +Ref: Full Line Fields-Footnote-2225280 +Node: Field Splitting Summary225381 +Node: Constant Size227455 +Node: Splitting By Content232044 +Ref: Splitting By Content-Footnote-1236038 +Node: Multiple Line236201 +Ref: Multiple Line-Footnote-1242087 +Node: Getline242266 +Node: Plain Getline244478 +Node: Getline/Variable247118 +Node: Getline/File248266 +Node: Getline/Variable/File249650 +Ref: Getline/Variable/File-Footnote-1251253 +Node: Getline/Pipe251340 +Node: Getline/Variable/Pipe254023 +Node: Getline/Coprocess255154 +Node: Getline/Variable/Coprocess256406 +Node: Getline Notes257145 +Node: Getline Summary259937 +Ref: table-getline-variants260349 +Node: Read Timeout261178 +Ref: Read Timeout-Footnote-1265003 +Node: Command-line directories265061 +Node: Input Summary265966 +Node: Input Exercises269267 +Node: Printing269995 +Node: Print271772 +Node: Print Examples273229 +Node: Output Separators276008 +Node: OFMT278026 +Node: Printf279380 +Node: Basic Printf280165 +Node: Control Letters281735 +Node: Format Modifiers285718 +Node: Printf Examples291727 +Node: Redirection294213 +Node: Special FD301054 +Ref: Special FD-Footnote-1304214 +Node: Special Files304288 +Node: Other Inherited Files304905 +Node: Special Network305905 +Node: Special Caveats306767 +Node: Close Files And Pipes307718 +Ref: Close Files And Pipes-Footnote-1314900 +Ref: Close Files And Pipes-Footnote-2315048 +Node: Output Summary315198 +Node: Output Exercises316196 +Node: Expressions316876 +Node: Values318061 +Node: Constants318739 +Node: Scalar Constants319430 +Ref: Scalar Constants-Footnote-1320289 +Node: Nondecimal-numbers320539 +Node: Regexp Constants323557 +Node: Using Constant Regexps324082 +Node: Variables327225 +Node: Using Variables327880 +Node: Assignment Options329791 +Node: Conversion331666 +Node: Strings And Numbers332190 +Ref: Strings And Numbers-Footnote-1335255 +Node: Locale influences conversions335364 +Ref: table-locale-affects338111 +Node: All Operators338699 +Node: Arithmetic Ops339329 +Node: Concatenation341834 +Ref: Concatenation-Footnote-1344653 +Node: Assignment Ops344759 +Ref: table-assign-ops349738 +Node: Increment Ops351010 +Node: Truth Values and Conditions354448 +Node: Truth Values355533 +Node: Typing and Comparison356582 +Node: Variable Typing357392 +Node: Comparison Operators361045 +Ref: table-relational-ops361455 +Node: POSIX String Comparison364950 +Ref: POSIX String Comparison-Footnote-1366022 +Node: Boolean Ops366160 +Ref: Boolean Ops-Footnote-1370639 +Node: Conditional Exp370730 +Node: Function Calls372457 +Node: Precedence376337 +Node: Locales379998 +Node: Expressions Summary381630 +Node: Patterns and Actions384190 +Node: Pattern Overview385310 +Node: Regexp Patterns386989 +Node: Expression Patterns387532 +Node: Ranges391242 +Node: BEGIN/END394348 +Node: Using BEGIN/END395109 +Ref: Using BEGIN/END-Footnote-1397843 +Node: I/O And BEGIN/END397949 +Node: BEGINFILE/ENDFILE400263 +Node: Empty403164 +Node: Using Shell Variables403481 +Node: Action Overview405754 +Node: Statements408080 +Node: If Statement409928 +Node: While Statement411423 +Node: Do Statement413452 +Node: For Statement414596 +Node: Switch Statement417753 +Node: Break Statement420135 +Node: Continue Statement422176 +Node: Next Statement424003 +Node: Nextfile Statement426384 +Node: Exit Statement429014 +Node: Built-in Variables431417 +Node: User-modified432550 +Ref: User-modified-Footnote-1440231 +Node: Auto-set440293 +Ref: Auto-set-Footnote-1453328 +Ref: Auto-set-Footnote-2453533 +Node: ARGC and ARGV453589 +Node: Pattern Action Summary457807 +Node: Arrays460234 +Node: Array Basics461563 +Node: Array Intro462407 +Ref: figure-array-elements464371 +Ref: Array Intro-Footnote-1466897 +Node: Reference to Elements467025 +Node: Assigning Elements469477 +Node: Array Example469968 +Node: Scanning an Array471726 +Node: Controlling Scanning474742 +Ref: Controlling Scanning-Footnote-1479938 +Node: Numeric Array Subscripts480254 +Node: Uninitialized Subscripts482439 +Node: Delete484056 +Ref: Delete-Footnote-1486799 +Node: Multidimensional486856 +Node: Multiscanning489953 +Node: Arrays of Arrays491542 +Node: Arrays Summary496301 +Node: Functions498393 +Node: Built-in499292 +Node: Calling Built-in500370 +Node: Numeric Functions502361 +Ref: Numeric Functions-Footnote-1506378 +Ref: Numeric Functions-Footnote-2506735 +Ref: Numeric Functions-Footnote-3506783 +Node: String Functions507055 +Ref: String Functions-Footnote-1530530 +Ref: String Functions-Footnote-2530659 +Ref: String Functions-Footnote-3530907 +Node: Gory Details530994 +Ref: table-sub-escapes532775 +Ref: table-sub-proposed534295 +Ref: table-posix-sub535659 +Ref: table-gensub-escapes537195 +Ref: Gory Details-Footnote-1538027 +Node: I/O Functions538178 +Ref: I/O Functions-Footnote-1545396 +Node: Time Functions545543 +Ref: Time Functions-Footnote-1556031 +Ref: Time Functions-Footnote-2556099 +Ref: Time Functions-Footnote-3556257 +Ref: Time Functions-Footnote-4556368 +Ref: Time Functions-Footnote-5556480 +Ref: Time Functions-Footnote-6556707 +Node: Bitwise Functions556973 +Ref: table-bitwise-ops557535 +Ref: Bitwise Functions-Footnote-1561844 +Node: Type Functions562013 +Node: I18N Functions563164 +Node: User-defined564809 +Node: Definition Syntax565614 +Ref: Definition Syntax-Footnote-1571021 +Node: Function Example571092 +Ref: Function Example-Footnote-1574011 +Node: Function Caveats574033 +Node: Calling A Function574551 +Node: Variable Scope575509 +Node: Pass By Value/Reference578497 +Node: Return Statement581992 +Node: Dynamic Typing584973 +Node: Indirect Calls585902 +Ref: Indirect Calls-Footnote-1597204 +Node: Functions Summary597332 +Node: Library Functions600034 +Ref: Library Functions-Footnote-1603643 +Ref: Library Functions-Footnote-2603786 +Node: Library Names603957 +Ref: Library Names-Footnote-1607411 +Ref: Library Names-Footnote-2607634 +Node: General Functions607720 +Node: Strtonum Function608823 +Node: Assert Function611845 +Node: Round Function615169 +Node: Cliff Random Function616710 +Node: Ordinal Functions617726 +Ref: Ordinal Functions-Footnote-1620789 +Ref: Ordinal Functions-Footnote-2621041 +Node: Join Function621252 +Ref: Join Function-Footnote-1623021 +Node: Getlocaltime Function623221 +Node: Readfile Function626965 +Node: Shell Quoting628935 +Node: Data File Management630336 +Node: Filetrans Function630968 +Node: Rewind Function635024 +Node: File Checking636411 +Ref: File Checking-Footnote-1637743 +Node: Empty Files637944 +Node: Ignoring Assigns639923 +Node: Getopt Function641474 +Ref: Getopt Function-Footnote-1652936 +Node: Passwd Functions653136 +Ref: Passwd Functions-Footnote-1661973 +Node: Group Functions662061 +Ref: Group Functions-Footnote-1669955 +Node: Walking Arrays670168 +Node: Library Functions Summary671771 +Node: Library Exercises673172 +Node: Sample Programs674452 +Node: Running Examples675222 +Node: Clones675950 +Node: Cut Program677174 +Node: Egrep Program686893 +Ref: Egrep Program-Footnote-1694391 +Node: Id Program694501 +Node: Split Program698146 +Ref: Split Program-Footnote-1701594 +Node: Tee Program701722 +Node: Uniq Program704511 +Node: Wc Program711930 +Ref: Wc Program-Footnote-1716180 +Node: Miscellaneous Programs716274 +Node: Dupword Program717487 +Node: Alarm Program719518 +Node: Translate Program724322 +Ref: Translate Program-Footnote-1728887 +Node: Labels Program729157 +Ref: Labels Program-Footnote-1732508 +Node: Word Sorting732592 +Node: History Sorting736663 +Node: Extract Program738499 +Node: Simple Sed746024 +Node: Igawk Program749092 +Ref: Igawk Program-Footnote-1763416 +Ref: Igawk Program-Footnote-2763617 +Ref: Igawk Program-Footnote-3763739 +Node: Anagram Program763854 +Node: Signature Program766911 +Node: Programs Summary768158 +Node: Programs Exercises769351 +Ref: Programs Exercises-Footnote-1773482 +Node: Advanced Features773573 +Node: Nondecimal Data775521 +Node: Array Sorting777111 +Node: Controlling Array Traversal777808 +Ref: Controlling Array Traversal-Footnote-1786141 +Node: Array Sorting Functions786259 +Ref: Array Sorting Functions-Footnote-1790148 +Node: Two-way I/O790344 +Ref: Two-way I/O-Footnote-1795289 +Ref: Two-way I/O-Footnote-2795475 +Node: TCP/IP Networking795557 +Node: Profiling798430 +Node: Advanced Features Summary805977 +Node: Internationalization807910 +Node: I18N and L10N809390 +Node: Explaining gettext810076 +Ref: Explaining gettext-Footnote-1815101 +Ref: Explaining gettext-Footnote-2815285 +Node: Programmer i18n815450 +Ref: Programmer i18n-Footnote-1820316 +Node: Translator i18n820365 +Node: String Extraction821159 +Ref: String Extraction-Footnote-1822290 +Node: Printf Ordering822376 +Ref: Printf Ordering-Footnote-1825162 +Node: I18N Portability825226 +Ref: I18N Portability-Footnote-1827681 +Node: I18N Example827744 +Ref: I18N Example-Footnote-1830547 +Node: Gawk I18N830619 +Node: I18N Summary831257 +Node: Debugger832596 +Node: Debugging833618 +Node: Debugging Concepts834059 +Node: Debugging Terms835912 +Node: Awk Debugging838484 +Node: Sample Debugging Session839378 +Node: Debugger Invocation839898 +Node: Finding The Bug841282 +Node: List of Debugger Commands847757 +Node: Breakpoint Control849090 +Node: Debugger Execution Control852786 +Node: Viewing And Changing Data856150 +Node: Execution Stack859528 +Node: Debugger Info861165 +Node: Miscellaneous Debugger Commands865182 +Node: Readline Support870211 +Node: Limitations871103 +Node: Debugging Summary873217 +Node: Arbitrary Precision Arithmetic874385 +Node: Computer Arithmetic875801 +Ref: table-numeric-ranges879399 +Ref: Computer Arithmetic-Footnote-1880258 +Node: Math Definitions880315 +Ref: table-ieee-formats883603 +Ref: Math Definitions-Footnote-1884207 +Node: MPFR features884312 +Node: FP Math Caution885983 +Ref: FP Math Caution-Footnote-1887033 +Node: Inexactness of computations887402 +Node: Inexact representation888361 +Node: Comparing FP Values889718 +Node: Errors accumulate890800 +Node: Getting Accuracy892233 +Node: Try To Round894895 +Node: Setting precision895794 +Ref: table-predefined-precision-strings896478 +Node: Setting the rounding mode898267 +Ref: table-gawk-rounding-modes898631 +Ref: Setting the rounding mode-Footnote-1902086 +Node: Arbitrary Precision Integers902265 +Ref: Arbitrary Precision Integers-Footnote-1905251 +Node: POSIX Floating Point Problems905400 +Ref: POSIX Floating Point Problems-Footnote-1909273 +Node: Floating point summary909311 +Node: Dynamic Extensions911505 +Node: Extension Intro913057 +Node: Plugin License914323 +Node: Extension Mechanism Outline915120 +Ref: figure-load-extension915548 +Ref: figure-register-new-function917028 +Ref: figure-call-new-function918032 +Node: Extension API Description920018 +Node: Extension API Functions Introduction921468 +Node: General Data Types926292 +Ref: General Data Types-Footnote-1932031 +Node: Memory Allocation Functions932330 +Ref: Memory Allocation Functions-Footnote-1935169 +Node: Constructor Functions935265 +Node: Registration Functions936999 +Node: Extension Functions937684 +Node: Exit Callback Functions939981 +Node: Extension Version String941229 +Node: Input Parsers941894 +Node: Output Wrappers951773 +Node: Two-way processors956288 +Node: Printing Messages958492 +Ref: Printing Messages-Footnote-1959568 +Node: Updating `ERRNO'959720 +Node: Requesting Values960460 +Ref: table-value-types-returned961188 +Node: Accessing Parameters962145 +Node: Symbol Table Access963376 +Node: Symbol table by name963890 +Node: Symbol table by cookie965871 +Ref: Symbol table by cookie-Footnote-1970015 +Node: Cached values970078 +Ref: Cached values-Footnote-1973577 +Node: Array Manipulation973668 +Ref: Array Manipulation-Footnote-1974766 +Node: Array Data Types974803 +Ref: Array Data Types-Footnote-1977458 +Node: Array Functions977550 +Node: Flattening Arrays981404 +Node: Creating Arrays988296 +Node: Extension API Variables993067 +Node: Extension Versioning993703 +Node: Extension API Informational Variables995604 +Node: Extension API Boilerplate996669 +Node: Finding Extensions1000478 +Node: Extension Example1001038 +Node: Internal File Description1001810 +Node: Internal File Ops1005877 +Ref: Internal File Ops-Footnote-11017547 +Node: Using Internal File Ops1017687 +Ref: Using Internal File Ops-Footnote-11020070 +Node: Extension Samples1020343 +Node: Extension Sample File Functions1021869 +Node: Extension Sample Fnmatch1029507 +Node: Extension Sample Fork1030998 +Node: Extension Sample Inplace1032213 +Node: Extension Sample Ord1033888 +Node: Extension Sample Readdir1034724 +Ref: table-readdir-file-types1035600 +Node: Extension Sample Revout1036411 +Node: Extension Sample Rev2way1037001 +Node: Extension Sample Read write array1037741 +Node: Extension Sample Readfile1039681 +Node: Extension Sample Time1040776 +Node: Extension Sample API Tests1042125 +Node: gawkextlib1042616 +Node: Extension summary1045274 +Node: Extension Exercises1048963 +Node: Language History1049685 +Node: V7/SVR3.11051341 +Node: SVR41053522 +Node: POSIX1054967 +Node: BTL1056356 +Node: POSIX/GNU1057090 +Node: Feature History1062654 +Node: Common Extensions1075752 +Node: Ranges and Locales1077076 +Ref: Ranges and Locales-Footnote-11081694 +Ref: Ranges and Locales-Footnote-21081721 +Ref: Ranges and Locales-Footnote-31081955 +Node: Contributors1082176 +Node: History summary1087717 +Node: Installation1089087 +Node: Gawk Distribution1090033 +Node: Getting1090517 +Node: Extracting1091340 +Node: Distribution contents1092975 +Node: Unix Installation1098692 +Node: Quick Installation1099309 +Node: Additional Configuration Options1101733 +Node: Configuration Philosophy1103471 +Node: Non-Unix Installation1105840 +Node: PC Installation1106298 +Node: PC Binary Installation1107617 +Node: PC Compiling1109465 +Ref: PC Compiling-Footnote-11112486 +Node: PC Testing1112595 +Node: PC Using1113771 +Node: Cygwin1117886 +Node: MSYS1118709 +Node: VMS Installation1119209 +Node: VMS Compilation1120001 +Ref: VMS Compilation-Footnote-11121223 +Node: VMS Dynamic Extensions1121281 +Node: VMS Installation Details1122965 +Node: VMS Running1125217 +Node: VMS GNV1128053 +Node: VMS Old Gawk1128787 +Node: Bugs1129257 +Node: Other Versions1133140 +Node: Installation summary1139568 +Node: Notes1140624 +Node: Compatibility Mode1141489 +Node: Additions1142271 +Node: Accessing The Source1143196 +Node: Adding Code1144632 +Node: New Ports1150797 +Node: Derived Files1155279 +Ref: Derived Files-Footnote-11160754 +Ref: Derived Files-Footnote-21160788 +Ref: Derived Files-Footnote-31161384 +Node: Future Extensions1161498 +Node: Implementation Limitations1162104 +Node: Extension Design1163352 +Node: Old Extension Problems1164506 +Ref: Old Extension Problems-Footnote-11166023 +Node: Extension New Mechanism Goals1166080 +Ref: Extension New Mechanism Goals-Footnote-11169440 +Node: Extension Other Design Decisions1169629 +Node: Extension Future Growth1171737 +Node: Old Extension Mechanism1172573 +Node: Notes summary1174335 +Node: Basic Concepts1175521 +Node: Basic High Level1176202 +Ref: figure-general-flow1176474 +Ref: figure-process-flow1177073 +Ref: Basic High Level-Footnote-11180302 +Node: Basic Data Typing1180487 +Node: Glossary1183815 +Node: Copying1208973 +Node: GNU Free Documentation License1246529 +Node: Index1271665  End Tag Table -- cgit v1.2.3 From 611ebfe5c55849245d47b4c5878eb85b27861f12 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 20 Jan 2015 21:55:01 +0200 Subject: O'Reilly fixes. --- doc/gawk.info | 1216 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 607 insertions(+), 609 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 47f21442..3f32c445 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -1047,8 +1047,8 @@ in *note Sample Programs::, should be of interest. - *note Arrays::, covers `awk''s one-and-only data structure: the associative array. Deleting array elements and whole - arrays is also described, as well as sorting arrays in - `gawk'. It also describes how `gawk' provides arrays of + arrays is described, as well as sorting arrays in `gawk'. + The major node also describes how `gawk' provides arrays of arrays. - *note Functions::, describes the built-in functions `awk' and @@ -1057,14 +1057,13 @@ in *note Sample Programs::, should be of interest. indirectly. * Part II shows how to use `awk' and `gawk' for problem solving. - There is lots of code here for you to read and learn from. It - contains the following chapters: + There is lots of code here for you to read and learn from. This + part contains the following chapters: - - *note Library Functions::, which provides a number of - functions meant to be used from main `awk' programs. + - *note Library Functions::, provides a number of functions + meant to be used from main `awk' programs. - - *note Sample Programs::, which provides many sample `awk' - programs. + - *note Sample Programs::, provides many sample `awk' programs. Reading these two chapters allows you to see `awk' solving real problems. @@ -1096,7 +1095,7 @@ in *note Sample Programs::, should be of interest. It contains the following appendices: - *note Language History::, describes how the `awk' language - has evolved since its first release to present. It also + has evolved since its first release to the present. It also describes how `gawk' has acquired features over time. - *note Installation::, describes how to get `gawk', how to @@ -1113,7 +1112,7 @@ in *note Sample Programs::, should be of interest. material for those who are completely unfamiliar with computer programming. - The *note Glossary::, defines most, if not all of, the + The *note Glossary::, defines most, if not all, of the significant terms used throughout the Info file. If you find terms that you aren't familiar with, try looking them up here. @@ -1142,8 +1141,8 @@ node briefly documents the typographical conventions used in Texinfo. common shell primary and secondary prompts, `$' and `>'. Input that you type is shown `like this'. Output from the command is preceded by the glyph "-|". This typically represents the command's standard -output. Error messages, and other output on the command's standard -error, are preceded by the glyph "error-->". For example: +output. Error messages and other output on the command's standard +error are preceded by the glyph "error-->". For example: $ echo hi on stdout -| hi on stdout @@ -1155,7 +1154,7 @@ particular, there are special characters called "control characters." These are characters that you type by holding down both the `CONTROL' key and another key, at the same time. For example, a `Ctrl-d' is typed by first pressing and holding the `CONTROL' key, next pressing the `d' -key and finally releasing both keys. +key, and finally releasing both keys. For the sake of brevity, throughout this Info file, we refer to Brian Kernighan's version of `awk' as "BWK `awk'." (*Note Other @@ -1171,7 +1170,7 @@ Dark Corners Until the POSIX standard (and `GAWK: Effective AWK Programming'), many features of `awk' were either poorly documented or not documented at all. Descriptions of such features (often called "dark corners") -are noted in this Info file with "(d.c.)". They also appear in the +are noted in this Info file with "(d.c.)." They also appear in the index under the heading "dark corner." But, as noted by the opening quote, any coverage of dark corners is @@ -1194,8 +1193,8 @@ editor. GNU Emacs is the most widely used version of Emacs today. The GNU(1) Project is an ongoing effort on the part of the Free Software Foundation to create a complete, freely distributable, -POSIX-compliant computing environment. The FSF uses the "GNU General -Public License" (GPL) to ensure that their software's source code is +POSIX-compliant computing environment. The FSF uses the GNU General +Public License (GPL) to ensure that its software's source code is always available to the end user. A copy of the GPL is included for your reference (*note Copying::). The GPL applies to the C language source code for `gawk'. To find out more about the FSF and the GNU @@ -1223,26 +1222,26 @@ original, "old" version of `awk'. I started working with that version in the fall of 1988. As work on it progressed, the FSF published several preliminary versions (numbered -0.X). In 1996, Edition 1.0 was released with `gawk' 3.0.0. The FSF +0.X). In 1996, edition 1.0 was released with `gawk' 3.0.0. The FSF published the first two editions under the title `The GNU Awk User's Guide'. This edition maintains the basic structure of the previous editions. For FSF edition 4.0, the content was thoroughly reviewed and updated. All references to `gawk' versions prior to 4.0 were removed. Of -significant note for that edition was *note Debugger::. +significant note for that edition was the addition of *note Debugger::. For FSF edition 4.1, the content has been reorganized into parts, and the major new additions are *note Arbitrary Precision Arithmetic::, and *note Dynamic Extensions::. This Info file will undoubtedly continue to evolve. If you find an -error in this Info file, please report it! *Note Bugs::, for +error in the Info file, please report it! *Note Bugs::, for information on submitting problem reports electronically. ---------- Footnotes ---------- - (1) GNU stands for "GNU's not Unix." + (1) GNU stands for "GNU's Not Unix." (2) The terminology "GNU/Linux" is explained in the *note Glossary::. @@ -1286,7 +1285,7 @@ acknowledgments: this manual. Jay Fenlason contributed many ideas and sample programs. Richard Mlynarik and Robert Chassell gave helpful comments on drafts of this manual. The paper `A Supplemental - Document for `awk'' by John W. Pierce of the Chemistry Department + Document for AWK' by John W. Pierce of the Chemistry Department at UC San Diego, pinpointed several issues relevant both to `awk' implementation and to this manual, that would otherwise have escaped us. @@ -1299,7 +1298,7 @@ GNU Project. acknowledgements: The following people (in alphabetical order) provided helpful - comments on various versions of this book, Rick Adams, Dr. Nelson + comments on various versions of this book: Rick Adams, Dr. Nelson H.F. Beebe, Karl Berry, Dr. Michael Brennan, Rich Burridge, Claire Cloutier, Diane Close, Scott Deifik, Christopher ("Topher") Eliot, Jeffrey Friedl, Dr. Darrel Hankerson, Michal Jaegermann, Dr. @@ -1308,7 +1307,7 @@ acknowledgements: Robert J. Chassell provided much valuable advice on the use of Texinfo. He also deserves special thanks for convincing me _not_ - to title this Info file `How To Gawk Politely'. Karl Berry helped + to title this Info file `How to Gawk Politely'. Karl Berry helped significantly with the TeX part of Texinfo. I would like to thank Marshall and Elaine Hartholz of Seattle and @@ -1348,18 +1347,18 @@ of people. *Note Contributors::, for the full list. Thanks to Michael Brennan for the Forewords. Thanks to Patrice Dumas for the new `makeinfo' program. Thanks to -Karl Berry who continues to work to keep the Texinfo markup language +Karl Berry, who continues to work to keep the Texinfo markup language sane. Robert P.J. Day, Michael Brennan, and Brian Kernighan kindly acted as reviewers for the 2015 edition of this Info file. Their feedback helped improve the final work. - I would like to thank Brian Kernighan for invaluable assistance -during the testing and debugging of `gawk', and for ongoing help and -advice in clarifying numerous points about the language. We could not -have done nearly as good a job on either `gawk' or its documentation -without his help. + I would also like to thank Brian Kernighan for his invaluable +assistance during the testing and debugging of `gawk', and for his +ongoing help and advice in clarifying numerous points about the +language. We could not have done nearly as good a job on either `gawk' +or its documentation without his help. Brian is in a class by himself as a programmer and technical author. I have to thank him (yet again) for his ongoing friendship and for @@ -1402,10 +1401,10 @@ contain "function definitions", an advanced feature that we will ignore for now; *note User-defined::). Each rule specifies one pattern to search for and one action to perform upon finding the pattern. - Syntactically, a rule consists of a pattern followed by an action. -The action is enclosed in braces to separate it from the pattern. -Newlines usually separate rules. Therefore, an `awk' program looks -like this: + Syntactically, a rule consists of a "pattern" followed by an +"action". The action is enclosed in braces to separate it from the +pattern. Newlines usually separate rules. Therefore, an `awk' program +looks like this: PATTERN { ACTION } PATTERN { ACTION } @@ -1473,7 +1472,7 @@ program as the first argument of the `awk' command, like this: awk 'PROGRAM' INPUT-FILE1 INPUT-FILE2 ... -where PROGRAM consists of a series of PATTERNS and ACTIONS, as +where PROGRAM consists of a series of patterns and actions, as described earlier. This command format instructs the "shell", or command interpreter, @@ -1488,8 +1487,8 @@ programs from shell scripts, because it avoids the need for a separate file for the `awk' program. A self-contained shell script is more reliable because there are no other files to misplace. - Later in this chapter, *note Very Simple::, presents several short, -self-contained programs. + Later in this chapter, in *note Very Simple::, we'll see examples of +several short, self-contained programs.  File: gawk.info, Node: Read Terminal, Next: Long, Prev: One-shot, Up: Running gawk @@ -1504,7 +1503,7 @@ following command line: `awk' applies the PROGRAM to the "standard input", which usually means whatever you type on the keyboard. This continues until you indicate -end-of-file by typing `Ctrl-d'. (On other operating systems, the +end-of-file by typing `Ctrl-d'. (On non-POSIX operating systems, the end-of-file character may be different. For example, on OS/2, it is `Ctrl-z'.) @@ -1579,10 +1578,9 @@ that are provided on the `awk' command line. (Also, placing the program in a file allows us to use a literal single quote in the program text, instead of the magic `\47'.) - If you want to clearly identify your `awk' program files as such, -you can add the extension `.awk' to the file name. This doesn't affect -the execution of the `awk' program but it does make "housekeeping" -easier. + If you want to clearly identify an `awk' program file as such, you +can add the extension `.awk' to the file name. This doesn't affect the +execution of the `awk' program but it does make "housekeeping" easier.  File: gawk.info, Node: Executable Scripts, Next: Comments, Prev: Long, Up: Running gawk @@ -1711,7 +1709,7 @@ at a later time.  File: gawk.info, Node: Quoting, Prev: Comments, Up: Running gawk -1.1.6 Shell-Quoting Issues +1.1.6 Shell Quoting Issues -------------------------- * Menu: @@ -1806,7 +1804,7 @@ shell quoting tricks, like this: -| Here is a single quote <'> This program consists of three concatenated quoted strings. The first -and the third are single quoted, the second is double quoted. +and the third are single-quoted, and the second is double-quoted. This can be "simplified" to: @@ -1833,8 +1831,7 @@ like so: $ awk 'BEGIN { print "Here is a double quote <\42>" }' -| Here is a double quote <"> -This works nicely, except that you should comment clearly what the -escapes mean. +This works nicely, but you should comment clearly what the escapes mean. A fourth option is to use command-line variable assignment, like this: @@ -1843,11 +1840,11 @@ this: -| Here is a single quote <'> (Here, the two string constants and the value of `sq' are -concatenated into a single string which is printed by `print'.) +concatenated into a single string that is printed by `print'.) If you really need both single and double quotes in your `awk' program, it is probably best to move it into a separate file, where the -shell won't be part of the picture, and you can say what you mean. +shell won't be part of the picture and you can say what you mean.  File: gawk.info, Node: DOS Quoting, Up: Quoting @@ -1905,7 +1902,7 @@ of green crates shipped, the number of red boxes shipped, the number of orange bags shipped, and the number of blue packages shipped, respectively. There are 16 entries, covering the 12 months of last year and the first four months of the current year. An empty line separates -the data for the two years. +the data for the two years: Jan 13 25 15 115 Feb 15 32 24 226 @@ -1937,7 +1934,7 @@ File: gawk.info, Node: Very Simple, Next: Two Rules, Prev: Sample Data Files, The following command runs a simple `awk' program that searches the input file `mail-list' for the character string `li' (a grouping of characters is usually called a "string"; the term "string" is based on -similar usage in English, such as "a string of pearls," or "a string of +similar usage in English, such as "a string of pearls" or "a string of cars in a train"): awk '/li/ { print $0 }' mail-list @@ -1973,24 +1970,25 @@ prints all lines matching the pattern `li'. By comparison, omitting the `print' statement but retaining the braces makes an empty action that does nothing (i.e., no lines are printed). - Many practical `awk' programs are just a line or two. Following is a -collection of useful, short programs to get you started. Some of these -programs contain constructs that haven't been covered yet. (The -description of the program will give you a good idea of what is going -on, but you'll need to read the rest of the Info file to become an -`awk' expert!) Most of the examples use a data file named `data'. -This is just a placeholder; if you use these programs yourself, -substitute your own file names for `data'. For future reference, note -that there is often more than one way to do things in `awk'. At some -point, you may want to look back at these examples and see if you can -come up with different ways to do the same things shown here: + Many practical `awk' programs are just a line or two long. +Following is a collection of useful, short programs to get you started. +Some of these programs contain constructs that haven't been covered +yet. (The description of the program will give you a good idea of what +is going on, but you'll need to read the rest of the Info file to +become an `awk' expert!) Most of the examples use a data file named +`data'. This is just a placeholder; if you use these programs +yourself, substitute your own file names for `data'. For future +reference, note that there is often more than one way to do things in +`awk'. At some point, you may want to look back at these examples and +see if you can come up with different ways to do the same things shown +here: * Print every line that is longer than 80 characters: awk 'length($0) > 80' data - The sole rule has a relational expression as its pattern and it - has no action--so it uses the default action, printing the record. + The sole rule has a relational expression as its pattern and has no + action--so it uses the default action, printing the record. * Print the length of the longest input line: @@ -2045,8 +2043,8 @@ come up with different ways to do the same things shown here: awk 'NR % 2 == 0' data - If you use the expression `NR % 2 == 1' instead, the program would - print the odd-numbered lines. + If you used the expression `NR % 2 == 1' instead, the program + would print the odd-numbered lines.  File: gawk.info, Node: Two Rules, Next: More Complex, Prev: Very Simple, Up: Getting Started @@ -32474,7 +32472,7 @@ Index * exit the debugger: Miscellaneous Debugger Commands. (line 99) * exp: Numeric Functions. (line 18) -* expand utility: Very Simple. (line 72) +* expand utility: Very Simple. (line 73) * Expat XML parser library: gawkextlib. (line 33) * exponent: Numeric Functions. (line 18) * expressions: Expressions. (line 6) @@ -34311,549 +34309,549 @@ Node: History51484 Node: Names53835 Ref: Names-Footnote-154928 Node: This Manual55074 -Ref: This Manual-Footnote-161579 -Node: Conventions61679 -Node: Manual History64017 -Ref: Manual History-Footnote-166999 -Ref: Manual History-Footnote-267040 -Node: How To Contribute67114 -Node: Acknowledgments68243 -Node: Getting Started73048 -Node: Running gawk75481 -Node: One-shot76671 -Node: Read Terminal77919 -Node: Long79946 -Node: Executable Scripts81462 -Ref: Executable Scripts-Footnote-184251 -Node: Comments84354 -Node: Quoting86836 -Node: DOS Quoting92360 -Node: Sample Data Files93035 -Node: Very Simple95630 -Node: Two Rules100528 -Node: More Complex102414 -Node: Statements/Lines105276 -Ref: Statements/Lines-Footnote-1109731 -Node: Other Features109996 -Node: When110927 -Ref: When-Footnote-1112681 -Node: Intro Summary112746 -Node: Invoking Gawk113629 -Node: Command Line115143 -Node: Options115941 -Ref: Options-Footnote-1131874 -Ref: Options-Footnote-2132103 -Node: Other Arguments132128 -Node: Naming Standard Input135076 -Node: Environment Variables136169 -Node: AWKPATH Variable136727 -Ref: AWKPATH Variable-Footnote-1140030 -Ref: AWKPATH Variable-Footnote-2140075 -Node: AWKLIBPATH Variable140335 -Node: Other Environment Variables141478 -Node: Exit Status145206 -Node: Include Files145882 -Node: Loading Shared Libraries149479 -Node: Obsolete150906 -Node: Undocumented151603 -Node: Invoking Summary151870 -Node: Regexp153534 -Node: Regexp Usage154988 -Node: Escape Sequences157025 -Node: Regexp Operators163036 -Ref: Regexp Operators-Footnote-1170462 -Ref: Regexp Operators-Footnote-2170609 -Node: Bracket Expressions170707 -Ref: table-char-classes172722 -Node: Leftmost Longest175646 -Node: Computed Regexps176948 -Node: GNU Regexp Operators180345 -Node: Case-sensitivity184018 -Ref: Case-sensitivity-Footnote-1186903 -Ref: Case-sensitivity-Footnote-2187138 -Node: Regexp Summary187246 -Node: Reading Files188713 -Node: Records190807 -Node: awk split records191540 -Node: gawk split records196455 -Ref: gawk split records-Footnote-1200999 -Node: Fields201036 -Ref: Fields-Footnote-1203812 -Node: Nonconstant Fields203898 -Ref: Nonconstant Fields-Footnote-1206141 -Node: Changing Fields206345 -Node: Field Separators212274 -Node: Default Field Splitting214979 -Node: Regexp Field Splitting216096 -Node: Single Character Fields219446 -Node: Command Line Field Separator220505 -Node: Full Line Fields223717 -Ref: Full Line Fields-Footnote-1225234 -Ref: Full Line Fields-Footnote-2225280 -Node: Field Splitting Summary225381 -Node: Constant Size227455 -Node: Splitting By Content232044 -Ref: Splitting By Content-Footnote-1236038 -Node: Multiple Line236201 -Ref: Multiple Line-Footnote-1242087 -Node: Getline242266 -Node: Plain Getline244478 -Node: Getline/Variable247118 -Node: Getline/File248266 -Node: Getline/Variable/File249650 -Ref: Getline/Variable/File-Footnote-1251253 -Node: Getline/Pipe251340 -Node: Getline/Variable/Pipe254023 -Node: Getline/Coprocess255154 -Node: Getline/Variable/Coprocess256406 -Node: Getline Notes257145 -Node: Getline Summary259937 -Ref: table-getline-variants260349 -Node: Read Timeout261178 -Ref: Read Timeout-Footnote-1265003 -Node: Command-line directories265061 -Node: Input Summary265966 -Node: Input Exercises269267 -Node: Printing269995 -Node: Print271772 -Node: Print Examples273229 -Node: Output Separators276008 -Node: OFMT278026 -Node: Printf279380 -Node: Basic Printf280165 -Node: Control Letters281735 -Node: Format Modifiers285718 -Node: Printf Examples291727 -Node: Redirection294213 -Node: Special FD301054 -Ref: Special FD-Footnote-1304214 -Node: Special Files304288 -Node: Other Inherited Files304905 -Node: Special Network305905 -Node: Special Caveats306767 -Node: Close Files And Pipes307718 -Ref: Close Files And Pipes-Footnote-1314900 -Ref: Close Files And Pipes-Footnote-2315048 -Node: Output Summary315198 -Node: Output Exercises316196 -Node: Expressions316876 -Node: Values318061 -Node: Constants318739 -Node: Scalar Constants319430 -Ref: Scalar Constants-Footnote-1320289 -Node: Nondecimal-numbers320539 -Node: Regexp Constants323557 -Node: Using Constant Regexps324082 -Node: Variables327225 -Node: Using Variables327880 -Node: Assignment Options329791 -Node: Conversion331666 -Node: Strings And Numbers332190 -Ref: Strings And Numbers-Footnote-1335255 -Node: Locale influences conversions335364 -Ref: table-locale-affects338111 -Node: All Operators338699 -Node: Arithmetic Ops339329 -Node: Concatenation341834 -Ref: Concatenation-Footnote-1344653 -Node: Assignment Ops344759 -Ref: table-assign-ops349738 -Node: Increment Ops351010 -Node: Truth Values and Conditions354448 -Node: Truth Values355533 -Node: Typing and Comparison356582 -Node: Variable Typing357392 -Node: Comparison Operators361045 -Ref: table-relational-ops361455 -Node: POSIX String Comparison364950 -Ref: POSIX String Comparison-Footnote-1366022 -Node: Boolean Ops366160 -Ref: Boolean Ops-Footnote-1370639 -Node: Conditional Exp370730 -Node: Function Calls372457 -Node: Precedence376337 -Node: Locales379998 -Node: Expressions Summary381630 -Node: Patterns and Actions384190 -Node: Pattern Overview385310 -Node: Regexp Patterns386989 -Node: Expression Patterns387532 -Node: Ranges391242 -Node: BEGIN/END394348 -Node: Using BEGIN/END395109 -Ref: Using BEGIN/END-Footnote-1397843 -Node: I/O And BEGIN/END397949 -Node: BEGINFILE/ENDFILE400263 -Node: Empty403164 -Node: Using Shell Variables403481 -Node: Action Overview405754 -Node: Statements408080 -Node: If Statement409928 -Node: While Statement411423 -Node: Do Statement413452 -Node: For Statement414596 -Node: Switch Statement417753 -Node: Break Statement420135 -Node: Continue Statement422176 -Node: Next Statement424003 -Node: Nextfile Statement426384 -Node: Exit Statement429014 -Node: Built-in Variables431417 -Node: User-modified432550 -Ref: User-modified-Footnote-1440231 -Node: Auto-set440293 -Ref: Auto-set-Footnote-1453328 -Ref: Auto-set-Footnote-2453533 -Node: ARGC and ARGV453589 -Node: Pattern Action Summary457807 -Node: Arrays460234 -Node: Array Basics461563 -Node: Array Intro462407 -Ref: figure-array-elements464371 -Ref: Array Intro-Footnote-1466897 -Node: Reference to Elements467025 -Node: Assigning Elements469477 -Node: Array Example469968 -Node: Scanning an Array471726 -Node: Controlling Scanning474742 -Ref: Controlling Scanning-Footnote-1479938 -Node: Numeric Array Subscripts480254 -Node: Uninitialized Subscripts482439 -Node: Delete484056 -Ref: Delete-Footnote-1486799 -Node: Multidimensional486856 -Node: Multiscanning489953 -Node: Arrays of Arrays491542 -Node: Arrays Summary496301 -Node: Functions498393 -Node: Built-in499292 -Node: Calling Built-in500370 -Node: Numeric Functions502361 -Ref: Numeric Functions-Footnote-1506378 -Ref: Numeric Functions-Footnote-2506735 -Ref: Numeric Functions-Footnote-3506783 -Node: String Functions507055 -Ref: String Functions-Footnote-1530530 -Ref: String Functions-Footnote-2530659 -Ref: String Functions-Footnote-3530907 -Node: Gory Details530994 -Ref: table-sub-escapes532775 -Ref: table-sub-proposed534295 -Ref: table-posix-sub535659 -Ref: table-gensub-escapes537195 -Ref: Gory Details-Footnote-1538027 -Node: I/O Functions538178 -Ref: I/O Functions-Footnote-1545396 -Node: Time Functions545543 -Ref: Time Functions-Footnote-1556031 -Ref: Time Functions-Footnote-2556099 -Ref: Time Functions-Footnote-3556257 -Ref: Time Functions-Footnote-4556368 -Ref: Time Functions-Footnote-5556480 -Ref: Time Functions-Footnote-6556707 -Node: Bitwise Functions556973 -Ref: table-bitwise-ops557535 -Ref: Bitwise Functions-Footnote-1561844 -Node: Type Functions562013 -Node: I18N Functions563164 -Node: User-defined564809 -Node: Definition Syntax565614 -Ref: Definition Syntax-Footnote-1571021 -Node: Function Example571092 -Ref: Function Example-Footnote-1574011 -Node: Function Caveats574033 -Node: Calling A Function574551 -Node: Variable Scope575509 -Node: Pass By Value/Reference578497 -Node: Return Statement581992 -Node: Dynamic Typing584973 -Node: Indirect Calls585902 -Ref: Indirect Calls-Footnote-1597204 -Node: Functions Summary597332 -Node: Library Functions600034 -Ref: Library Functions-Footnote-1603643 -Ref: Library Functions-Footnote-2603786 -Node: Library Names603957 -Ref: Library Names-Footnote-1607411 -Ref: Library Names-Footnote-2607634 -Node: General Functions607720 -Node: Strtonum Function608823 -Node: Assert Function611845 -Node: Round Function615169 -Node: Cliff Random Function616710 -Node: Ordinal Functions617726 -Ref: Ordinal Functions-Footnote-1620789 -Ref: Ordinal Functions-Footnote-2621041 -Node: Join Function621252 -Ref: Join Function-Footnote-1623021 -Node: Getlocaltime Function623221 -Node: Readfile Function626965 -Node: Shell Quoting628935 -Node: Data File Management630336 -Node: Filetrans Function630968 -Node: Rewind Function635024 -Node: File Checking636411 -Ref: File Checking-Footnote-1637743 -Node: Empty Files637944 -Node: Ignoring Assigns639923 -Node: Getopt Function641474 -Ref: Getopt Function-Footnote-1652936 -Node: Passwd Functions653136 -Ref: Passwd Functions-Footnote-1661973 -Node: Group Functions662061 -Ref: Group Functions-Footnote-1669955 -Node: Walking Arrays670168 -Node: Library Functions Summary671771 -Node: Library Exercises673172 -Node: Sample Programs674452 -Node: Running Examples675222 -Node: Clones675950 -Node: Cut Program677174 -Node: Egrep Program686893 -Ref: Egrep Program-Footnote-1694391 -Node: Id Program694501 -Node: Split Program698146 -Ref: Split Program-Footnote-1701594 -Node: Tee Program701722 -Node: Uniq Program704511 -Node: Wc Program711930 -Ref: Wc Program-Footnote-1716180 -Node: Miscellaneous Programs716274 -Node: Dupword Program717487 -Node: Alarm Program719518 -Node: Translate Program724322 -Ref: Translate Program-Footnote-1728887 -Node: Labels Program729157 -Ref: Labels Program-Footnote-1732508 -Node: Word Sorting732592 -Node: History Sorting736663 -Node: Extract Program738499 -Node: Simple Sed746024 -Node: Igawk Program749092 -Ref: Igawk Program-Footnote-1763416 -Ref: Igawk Program-Footnote-2763617 -Ref: Igawk Program-Footnote-3763739 -Node: Anagram Program763854 -Node: Signature Program766911 -Node: Programs Summary768158 -Node: Programs Exercises769351 -Ref: Programs Exercises-Footnote-1773482 -Node: Advanced Features773573 -Node: Nondecimal Data775521 -Node: Array Sorting777111 -Node: Controlling Array Traversal777808 -Ref: Controlling Array Traversal-Footnote-1786141 -Node: Array Sorting Functions786259 -Ref: Array Sorting Functions-Footnote-1790148 -Node: Two-way I/O790344 -Ref: Two-way I/O-Footnote-1795289 -Ref: Two-way I/O-Footnote-2795475 -Node: TCP/IP Networking795557 -Node: Profiling798430 -Node: Advanced Features Summary805977 -Node: Internationalization807910 -Node: I18N and L10N809390 -Node: Explaining gettext810076 -Ref: Explaining gettext-Footnote-1815101 -Ref: Explaining gettext-Footnote-2815285 -Node: Programmer i18n815450 -Ref: Programmer i18n-Footnote-1820316 -Node: Translator i18n820365 -Node: String Extraction821159 -Ref: String Extraction-Footnote-1822290 -Node: Printf Ordering822376 -Ref: Printf Ordering-Footnote-1825162 -Node: I18N Portability825226 -Ref: I18N Portability-Footnote-1827681 -Node: I18N Example827744 -Ref: I18N Example-Footnote-1830547 -Node: Gawk I18N830619 -Node: I18N Summary831257 -Node: Debugger832596 -Node: Debugging833618 -Node: Debugging Concepts834059 -Node: Debugging Terms835912 -Node: Awk Debugging838484 -Node: Sample Debugging Session839378 -Node: Debugger Invocation839898 -Node: Finding The Bug841282 -Node: List of Debugger Commands847757 -Node: Breakpoint Control849090 -Node: Debugger Execution Control852786 -Node: Viewing And Changing Data856150 -Node: Execution Stack859528 -Node: Debugger Info861165 -Node: Miscellaneous Debugger Commands865182 -Node: Readline Support870211 -Node: Limitations871103 -Node: Debugging Summary873217 -Node: Arbitrary Precision Arithmetic874385 -Node: Computer Arithmetic875801 -Ref: table-numeric-ranges879399 -Ref: Computer Arithmetic-Footnote-1880258 -Node: Math Definitions880315 -Ref: table-ieee-formats883603 -Ref: Math Definitions-Footnote-1884207 -Node: MPFR features884312 -Node: FP Math Caution885983 -Ref: FP Math Caution-Footnote-1887033 -Node: Inexactness of computations887402 -Node: Inexact representation888361 -Node: Comparing FP Values889718 -Node: Errors accumulate890800 -Node: Getting Accuracy892233 -Node: Try To Round894895 -Node: Setting precision895794 -Ref: table-predefined-precision-strings896478 -Node: Setting the rounding mode898267 -Ref: table-gawk-rounding-modes898631 -Ref: Setting the rounding mode-Footnote-1902086 -Node: Arbitrary Precision Integers902265 -Ref: Arbitrary Precision Integers-Footnote-1905251 -Node: POSIX Floating Point Problems905400 -Ref: POSIX Floating Point Problems-Footnote-1909273 -Node: Floating point summary909311 -Node: Dynamic Extensions911505 -Node: Extension Intro913057 -Node: Plugin License914323 -Node: Extension Mechanism Outline915120 -Ref: figure-load-extension915548 -Ref: figure-register-new-function917028 -Ref: figure-call-new-function918032 -Node: Extension API Description920018 -Node: Extension API Functions Introduction921468 -Node: General Data Types926292 -Ref: General Data Types-Footnote-1932031 -Node: Memory Allocation Functions932330 -Ref: Memory Allocation Functions-Footnote-1935169 -Node: Constructor Functions935265 -Node: Registration Functions936999 -Node: Extension Functions937684 -Node: Exit Callback Functions939981 -Node: Extension Version String941229 -Node: Input Parsers941894 -Node: Output Wrappers951773 -Node: Two-way processors956288 -Node: Printing Messages958492 -Ref: Printing Messages-Footnote-1959568 -Node: Updating `ERRNO'959720 -Node: Requesting Values960460 -Ref: table-value-types-returned961188 -Node: Accessing Parameters962145 -Node: Symbol Table Access963376 -Node: Symbol table by name963890 -Node: Symbol table by cookie965871 -Ref: Symbol table by cookie-Footnote-1970015 -Node: Cached values970078 -Ref: Cached values-Footnote-1973577 -Node: Array Manipulation973668 -Ref: Array Manipulation-Footnote-1974766 -Node: Array Data Types974803 -Ref: Array Data Types-Footnote-1977458 -Node: Array Functions977550 -Node: Flattening Arrays981404 -Node: Creating Arrays988296 -Node: Extension API Variables993067 -Node: Extension Versioning993703 -Node: Extension API Informational Variables995604 -Node: Extension API Boilerplate996669 -Node: Finding Extensions1000478 -Node: Extension Example1001038 -Node: Internal File Description1001810 -Node: Internal File Ops1005877 -Ref: Internal File Ops-Footnote-11017547 -Node: Using Internal File Ops1017687 -Ref: Using Internal File Ops-Footnote-11020070 -Node: Extension Samples1020343 -Node: Extension Sample File Functions1021869 -Node: Extension Sample Fnmatch1029507 -Node: Extension Sample Fork1030998 -Node: Extension Sample Inplace1032213 -Node: Extension Sample Ord1033888 -Node: Extension Sample Readdir1034724 -Ref: table-readdir-file-types1035600 -Node: Extension Sample Revout1036411 -Node: Extension Sample Rev2way1037001 -Node: Extension Sample Read write array1037741 -Node: Extension Sample Readfile1039681 -Node: Extension Sample Time1040776 -Node: Extension Sample API Tests1042125 -Node: gawkextlib1042616 -Node: Extension summary1045274 -Node: Extension Exercises1048963 -Node: Language History1049685 -Node: V7/SVR3.11051341 -Node: SVR41053522 -Node: POSIX1054967 -Node: BTL1056356 -Node: POSIX/GNU1057090 -Node: Feature History1062654 -Node: Common Extensions1075752 -Node: Ranges and Locales1077076 -Ref: Ranges and Locales-Footnote-11081694 -Ref: Ranges and Locales-Footnote-21081721 -Ref: Ranges and Locales-Footnote-31081955 -Node: Contributors1082176 -Node: History summary1087717 -Node: Installation1089087 -Node: Gawk Distribution1090033 -Node: Getting1090517 -Node: Extracting1091340 -Node: Distribution contents1092975 -Node: Unix Installation1098692 -Node: Quick Installation1099309 -Node: Additional Configuration Options1101733 -Node: Configuration Philosophy1103471 -Node: Non-Unix Installation1105840 -Node: PC Installation1106298 -Node: PC Binary Installation1107617 -Node: PC Compiling1109465 -Ref: PC Compiling-Footnote-11112486 -Node: PC Testing1112595 -Node: PC Using1113771 -Node: Cygwin1117886 -Node: MSYS1118709 -Node: VMS Installation1119209 -Node: VMS Compilation1120001 -Ref: VMS Compilation-Footnote-11121223 -Node: VMS Dynamic Extensions1121281 -Node: VMS Installation Details1122965 -Node: VMS Running1125217 -Node: VMS GNV1128053 -Node: VMS Old Gawk1128787 -Node: Bugs1129257 -Node: Other Versions1133140 -Node: Installation summary1139568 -Node: Notes1140624 -Node: Compatibility Mode1141489 -Node: Additions1142271 -Node: Accessing The Source1143196 -Node: Adding Code1144632 -Node: New Ports1150797 -Node: Derived Files1155279 -Ref: Derived Files-Footnote-11160754 -Ref: Derived Files-Footnote-21160788 -Ref: Derived Files-Footnote-31161384 -Node: Future Extensions1161498 -Node: Implementation Limitations1162104 -Node: Extension Design1163352 -Node: Old Extension Problems1164506 -Ref: Old Extension Problems-Footnote-11166023 -Node: Extension New Mechanism Goals1166080 -Ref: Extension New Mechanism Goals-Footnote-11169440 -Node: Extension Other Design Decisions1169629 -Node: Extension Future Growth1171737 -Node: Old Extension Mechanism1172573 -Node: Notes summary1174335 -Node: Basic Concepts1175521 -Node: Basic High Level1176202 -Ref: figure-general-flow1176474 -Ref: figure-process-flow1177073 -Ref: Basic High Level-Footnote-11180302 -Node: Basic Data Typing1180487 -Node: Glossary1183815 -Node: Copying1208973 -Node: GNU Free Documentation License1246529 -Node: Index1271665 +Ref: This Manual-Footnote-161574 +Node: Conventions61674 +Node: Manual History64011 +Ref: Manual History-Footnote-167004 +Ref: Manual History-Footnote-267045 +Node: How To Contribute67119 +Node: Acknowledgments68248 +Node: Getting Started73065 +Node: Running gawk75504 +Node: One-shot76694 +Node: Read Terminal77958 +Node: Long79989 +Node: Executable Scripts81502 +Ref: Executable Scripts-Footnote-184291 +Node: Comments84394 +Node: Quoting86876 +Node: DOS Quoting92394 +Node: Sample Data Files93069 +Node: Very Simple95664 +Node: Two Rules100563 +Node: More Complex102449 +Node: Statements/Lines105311 +Ref: Statements/Lines-Footnote-1109766 +Node: Other Features110031 +Node: When110962 +Ref: When-Footnote-1112716 +Node: Intro Summary112781 +Node: Invoking Gawk113664 +Node: Command Line115178 +Node: Options115976 +Ref: Options-Footnote-1131909 +Ref: Options-Footnote-2132138 +Node: Other Arguments132163 +Node: Naming Standard Input135111 +Node: Environment Variables136204 +Node: AWKPATH Variable136762 +Ref: AWKPATH Variable-Footnote-1140065 +Ref: AWKPATH Variable-Footnote-2140110 +Node: AWKLIBPATH Variable140370 +Node: Other Environment Variables141513 +Node: Exit Status145241 +Node: Include Files145917 +Node: Loading Shared Libraries149514 +Node: Obsolete150941 +Node: Undocumented151638 +Node: Invoking Summary151905 +Node: Regexp153569 +Node: Regexp Usage155023 +Node: Escape Sequences157060 +Node: Regexp Operators163071 +Ref: Regexp Operators-Footnote-1170497 +Ref: Regexp Operators-Footnote-2170644 +Node: Bracket Expressions170742 +Ref: table-char-classes172757 +Node: Leftmost Longest175681 +Node: Computed Regexps176983 +Node: GNU Regexp Operators180380 +Node: Case-sensitivity184053 +Ref: Case-sensitivity-Footnote-1186938 +Ref: Case-sensitivity-Footnote-2187173 +Node: Regexp Summary187281 +Node: Reading Files188748 +Node: Records190842 +Node: awk split records191575 +Node: gawk split records196490 +Ref: gawk split records-Footnote-1201034 +Node: Fields201071 +Ref: Fields-Footnote-1203847 +Node: Nonconstant Fields203933 +Ref: Nonconstant Fields-Footnote-1206176 +Node: Changing Fields206380 +Node: Field Separators212309 +Node: Default Field Splitting215014 +Node: Regexp Field Splitting216131 +Node: Single Character Fields219481 +Node: Command Line Field Separator220540 +Node: Full Line Fields223752 +Ref: Full Line Fields-Footnote-1225269 +Ref: Full Line Fields-Footnote-2225315 +Node: Field Splitting Summary225416 +Node: Constant Size227490 +Node: Splitting By Content232079 +Ref: Splitting By Content-Footnote-1236073 +Node: Multiple Line236236 +Ref: Multiple Line-Footnote-1242122 +Node: Getline242301 +Node: Plain Getline244513 +Node: Getline/Variable247153 +Node: Getline/File248301 +Node: Getline/Variable/File249685 +Ref: Getline/Variable/File-Footnote-1251288 +Node: Getline/Pipe251375 +Node: Getline/Variable/Pipe254058 +Node: Getline/Coprocess255189 +Node: Getline/Variable/Coprocess256441 +Node: Getline Notes257180 +Node: Getline Summary259972 +Ref: table-getline-variants260384 +Node: Read Timeout261213 +Ref: Read Timeout-Footnote-1265038 +Node: Command-line directories265096 +Node: Input Summary266001 +Node: Input Exercises269302 +Node: Printing270030 +Node: Print271807 +Node: Print Examples273264 +Node: Output Separators276043 +Node: OFMT278061 +Node: Printf279415 +Node: Basic Printf280200 +Node: Control Letters281770 +Node: Format Modifiers285753 +Node: Printf Examples291762 +Node: Redirection294248 +Node: Special FD301089 +Ref: Special FD-Footnote-1304249 +Node: Special Files304323 +Node: Other Inherited Files304940 +Node: Special Network305940 +Node: Special Caveats306802 +Node: Close Files And Pipes307753 +Ref: Close Files And Pipes-Footnote-1314935 +Ref: Close Files And Pipes-Footnote-2315083 +Node: Output Summary315233 +Node: Output Exercises316231 +Node: Expressions316911 +Node: Values318096 +Node: Constants318774 +Node: Scalar Constants319465 +Ref: Scalar Constants-Footnote-1320324 +Node: Nondecimal-numbers320574 +Node: Regexp Constants323592 +Node: Using Constant Regexps324117 +Node: Variables327260 +Node: Using Variables327915 +Node: Assignment Options329826 +Node: Conversion331701 +Node: Strings And Numbers332225 +Ref: Strings And Numbers-Footnote-1335290 +Node: Locale influences conversions335399 +Ref: table-locale-affects338146 +Node: All Operators338734 +Node: Arithmetic Ops339364 +Node: Concatenation341869 +Ref: Concatenation-Footnote-1344688 +Node: Assignment Ops344794 +Ref: table-assign-ops349773 +Node: Increment Ops351045 +Node: Truth Values and Conditions354483 +Node: Truth Values355568 +Node: Typing and Comparison356617 +Node: Variable Typing357427 +Node: Comparison Operators361080 +Ref: table-relational-ops361490 +Node: POSIX String Comparison364985 +Ref: POSIX String Comparison-Footnote-1366057 +Node: Boolean Ops366195 +Ref: Boolean Ops-Footnote-1370674 +Node: Conditional Exp370765 +Node: Function Calls372492 +Node: Precedence376372 +Node: Locales380033 +Node: Expressions Summary381665 +Node: Patterns and Actions384225 +Node: Pattern Overview385345 +Node: Regexp Patterns387024 +Node: Expression Patterns387567 +Node: Ranges391277 +Node: BEGIN/END394383 +Node: Using BEGIN/END395144 +Ref: Using BEGIN/END-Footnote-1397878 +Node: I/O And BEGIN/END397984 +Node: BEGINFILE/ENDFILE400298 +Node: Empty403199 +Node: Using Shell Variables403516 +Node: Action Overview405789 +Node: Statements408115 +Node: If Statement409963 +Node: While Statement411458 +Node: Do Statement413487 +Node: For Statement414631 +Node: Switch Statement417788 +Node: Break Statement420170 +Node: Continue Statement422211 +Node: Next Statement424038 +Node: Nextfile Statement426419 +Node: Exit Statement429049 +Node: Built-in Variables431452 +Node: User-modified432585 +Ref: User-modified-Footnote-1440266 +Node: Auto-set440328 +Ref: Auto-set-Footnote-1453363 +Ref: Auto-set-Footnote-2453568 +Node: ARGC and ARGV453624 +Node: Pattern Action Summary457842 +Node: Arrays460269 +Node: Array Basics461598 +Node: Array Intro462442 +Ref: figure-array-elements464406 +Ref: Array Intro-Footnote-1466932 +Node: Reference to Elements467060 +Node: Assigning Elements469512 +Node: Array Example470003 +Node: Scanning an Array471761 +Node: Controlling Scanning474777 +Ref: Controlling Scanning-Footnote-1479973 +Node: Numeric Array Subscripts480289 +Node: Uninitialized Subscripts482474 +Node: Delete484091 +Ref: Delete-Footnote-1486834 +Node: Multidimensional486891 +Node: Multiscanning489988 +Node: Arrays of Arrays491577 +Node: Arrays Summary496336 +Node: Functions498428 +Node: Built-in499327 +Node: Calling Built-in500405 +Node: Numeric Functions502396 +Ref: Numeric Functions-Footnote-1506413 +Ref: Numeric Functions-Footnote-2506770 +Ref: Numeric Functions-Footnote-3506818 +Node: String Functions507090 +Ref: String Functions-Footnote-1530565 +Ref: String Functions-Footnote-2530694 +Ref: String Functions-Footnote-3530942 +Node: Gory Details531029 +Ref: table-sub-escapes532810 +Ref: table-sub-proposed534330 +Ref: table-posix-sub535694 +Ref: table-gensub-escapes537230 +Ref: Gory Details-Footnote-1538062 +Node: I/O Functions538213 +Ref: I/O Functions-Footnote-1545431 +Node: Time Functions545578 +Ref: Time Functions-Footnote-1556066 +Ref: Time Functions-Footnote-2556134 +Ref: Time Functions-Footnote-3556292 +Ref: Time Functions-Footnote-4556403 +Ref: Time Functions-Footnote-5556515 +Ref: Time Functions-Footnote-6556742 +Node: Bitwise Functions557008 +Ref: table-bitwise-ops557570 +Ref: Bitwise Functions-Footnote-1561879 +Node: Type Functions562048 +Node: I18N Functions563199 +Node: User-defined564844 +Node: Definition Syntax565649 +Ref: Definition Syntax-Footnote-1571056 +Node: Function Example571127 +Ref: Function Example-Footnote-1574046 +Node: Function Caveats574068 +Node: Calling A Function574586 +Node: Variable Scope575544 +Node: Pass By Value/Reference578532 +Node: Return Statement582027 +Node: Dynamic Typing585008 +Node: Indirect Calls585937 +Ref: Indirect Calls-Footnote-1597239 +Node: Functions Summary597367 +Node: Library Functions600069 +Ref: Library Functions-Footnote-1603678 +Ref: Library Functions-Footnote-2603821 +Node: Library Names603992 +Ref: Library Names-Footnote-1607446 +Ref: Library Names-Footnote-2607669 +Node: General Functions607755 +Node: Strtonum Function608858 +Node: Assert Function611880 +Node: Round Function615204 +Node: Cliff Random Function616745 +Node: Ordinal Functions617761 +Ref: Ordinal Functions-Footnote-1620824 +Ref: Ordinal Functions-Footnote-2621076 +Node: Join Function621287 +Ref: Join Function-Footnote-1623056 +Node: Getlocaltime Function623256 +Node: Readfile Function627000 +Node: Shell Quoting628970 +Node: Data File Management630371 +Node: Filetrans Function631003 +Node: Rewind Function635059 +Node: File Checking636446 +Ref: File Checking-Footnote-1637778 +Node: Empty Files637979 +Node: Ignoring Assigns639958 +Node: Getopt Function641509 +Ref: Getopt Function-Footnote-1652971 +Node: Passwd Functions653171 +Ref: Passwd Functions-Footnote-1662008 +Node: Group Functions662096 +Ref: Group Functions-Footnote-1669990 +Node: Walking Arrays670203 +Node: Library Functions Summary671806 +Node: Library Exercises673207 +Node: Sample Programs674487 +Node: Running Examples675257 +Node: Clones675985 +Node: Cut Program677209 +Node: Egrep Program686928 +Ref: Egrep Program-Footnote-1694426 +Node: Id Program694536 +Node: Split Program698181 +Ref: Split Program-Footnote-1701629 +Node: Tee Program701757 +Node: Uniq Program704546 +Node: Wc Program711965 +Ref: Wc Program-Footnote-1716215 +Node: Miscellaneous Programs716309 +Node: Dupword Program717522 +Node: Alarm Program719553 +Node: Translate Program724357 +Ref: Translate Program-Footnote-1728922 +Node: Labels Program729192 +Ref: Labels Program-Footnote-1732543 +Node: Word Sorting732627 +Node: History Sorting736698 +Node: Extract Program738534 +Node: Simple Sed746059 +Node: Igawk Program749127 +Ref: Igawk Program-Footnote-1763451 +Ref: Igawk Program-Footnote-2763652 +Ref: Igawk Program-Footnote-3763774 +Node: Anagram Program763889 +Node: Signature Program766946 +Node: Programs Summary768193 +Node: Programs Exercises769386 +Ref: Programs Exercises-Footnote-1773517 +Node: Advanced Features773608 +Node: Nondecimal Data775556 +Node: Array Sorting777146 +Node: Controlling Array Traversal777843 +Ref: Controlling Array Traversal-Footnote-1786176 +Node: Array Sorting Functions786294 +Ref: Array Sorting Functions-Footnote-1790183 +Node: Two-way I/O790379 +Ref: Two-way I/O-Footnote-1795324 +Ref: Two-way I/O-Footnote-2795510 +Node: TCP/IP Networking795592 +Node: Profiling798465 +Node: Advanced Features Summary806012 +Node: Internationalization807945 +Node: I18N and L10N809425 +Node: Explaining gettext810111 +Ref: Explaining gettext-Footnote-1815136 +Ref: Explaining gettext-Footnote-2815320 +Node: Programmer i18n815485 +Ref: Programmer i18n-Footnote-1820351 +Node: Translator i18n820400 +Node: String Extraction821194 +Ref: String Extraction-Footnote-1822325 +Node: Printf Ordering822411 +Ref: Printf Ordering-Footnote-1825197 +Node: I18N Portability825261 +Ref: I18N Portability-Footnote-1827716 +Node: I18N Example827779 +Ref: I18N Example-Footnote-1830582 +Node: Gawk I18N830654 +Node: I18N Summary831292 +Node: Debugger832631 +Node: Debugging833653 +Node: Debugging Concepts834094 +Node: Debugging Terms835947 +Node: Awk Debugging838519 +Node: Sample Debugging Session839413 +Node: Debugger Invocation839933 +Node: Finding The Bug841317 +Node: List of Debugger Commands847792 +Node: Breakpoint Control849125 +Node: Debugger Execution Control852821 +Node: Viewing And Changing Data856185 +Node: Execution Stack859563 +Node: Debugger Info861200 +Node: Miscellaneous Debugger Commands865217 +Node: Readline Support870246 +Node: Limitations871138 +Node: Debugging Summary873252 +Node: Arbitrary Precision Arithmetic874420 +Node: Computer Arithmetic875836 +Ref: table-numeric-ranges879434 +Ref: Computer Arithmetic-Footnote-1880293 +Node: Math Definitions880350 +Ref: table-ieee-formats883638 +Ref: Math Definitions-Footnote-1884242 +Node: MPFR features884347 +Node: FP Math Caution886018 +Ref: FP Math Caution-Footnote-1887068 +Node: Inexactness of computations887437 +Node: Inexact representation888396 +Node: Comparing FP Values889753 +Node: Errors accumulate890835 +Node: Getting Accuracy892268 +Node: Try To Round894930 +Node: Setting precision895829 +Ref: table-predefined-precision-strings896513 +Node: Setting the rounding mode898302 +Ref: table-gawk-rounding-modes898666 +Ref: Setting the rounding mode-Footnote-1902121 +Node: Arbitrary Precision Integers902300 +Ref: Arbitrary Precision Integers-Footnote-1905286 +Node: POSIX Floating Point Problems905435 +Ref: POSIX Floating Point Problems-Footnote-1909308 +Node: Floating point summary909346 +Node: Dynamic Extensions911540 +Node: Extension Intro913092 +Node: Plugin License914358 +Node: Extension Mechanism Outline915155 +Ref: figure-load-extension915583 +Ref: figure-register-new-function917063 +Ref: figure-call-new-function918067 +Node: Extension API Description920053 +Node: Extension API Functions Introduction921503 +Node: General Data Types926327 +Ref: General Data Types-Footnote-1932066 +Node: Memory Allocation Functions932365 +Ref: Memory Allocation Functions-Footnote-1935204 +Node: Constructor Functions935300 +Node: Registration Functions937034 +Node: Extension Functions937719 +Node: Exit Callback Functions940016 +Node: Extension Version String941264 +Node: Input Parsers941929 +Node: Output Wrappers951808 +Node: Two-way processors956323 +Node: Printing Messages958527 +Ref: Printing Messages-Footnote-1959603 +Node: Updating `ERRNO'959755 +Node: Requesting Values960495 +Ref: table-value-types-returned961223 +Node: Accessing Parameters962180 +Node: Symbol Table Access963411 +Node: Symbol table by name963925 +Node: Symbol table by cookie965906 +Ref: Symbol table by cookie-Footnote-1970050 +Node: Cached values970113 +Ref: Cached values-Footnote-1973612 +Node: Array Manipulation973703 +Ref: Array Manipulation-Footnote-1974801 +Node: Array Data Types974838 +Ref: Array Data Types-Footnote-1977493 +Node: Array Functions977585 +Node: Flattening Arrays981439 +Node: Creating Arrays988331 +Node: Extension API Variables993102 +Node: Extension Versioning993738 +Node: Extension API Informational Variables995639 +Node: Extension API Boilerplate996704 +Node: Finding Extensions1000513 +Node: Extension Example1001073 +Node: Internal File Description1001845 +Node: Internal File Ops1005912 +Ref: Internal File Ops-Footnote-11017582 +Node: Using Internal File Ops1017722 +Ref: Using Internal File Ops-Footnote-11020105 +Node: Extension Samples1020378 +Node: Extension Sample File Functions1021904 +Node: Extension Sample Fnmatch1029542 +Node: Extension Sample Fork1031033 +Node: Extension Sample Inplace1032248 +Node: Extension Sample Ord1033923 +Node: Extension Sample Readdir1034759 +Ref: table-readdir-file-types1035635 +Node: Extension Sample Revout1036446 +Node: Extension Sample Rev2way1037036 +Node: Extension Sample Read write array1037776 +Node: Extension Sample Readfile1039716 +Node: Extension Sample Time1040811 +Node: Extension Sample API Tests1042160 +Node: gawkextlib1042651 +Node: Extension summary1045309 +Node: Extension Exercises1048998 +Node: Language History1049720 +Node: V7/SVR3.11051376 +Node: SVR41053557 +Node: POSIX1055002 +Node: BTL1056391 +Node: POSIX/GNU1057125 +Node: Feature History1062689 +Node: Common Extensions1075787 +Node: Ranges and Locales1077111 +Ref: Ranges and Locales-Footnote-11081729 +Ref: Ranges and Locales-Footnote-21081756 +Ref: Ranges and Locales-Footnote-31081990 +Node: Contributors1082211 +Node: History summary1087752 +Node: Installation1089122 +Node: Gawk Distribution1090068 +Node: Getting1090552 +Node: Extracting1091375 +Node: Distribution contents1093010 +Node: Unix Installation1098727 +Node: Quick Installation1099344 +Node: Additional Configuration Options1101768 +Node: Configuration Philosophy1103506 +Node: Non-Unix Installation1105875 +Node: PC Installation1106333 +Node: PC Binary Installation1107652 +Node: PC Compiling1109500 +Ref: PC Compiling-Footnote-11112521 +Node: PC Testing1112630 +Node: PC Using1113806 +Node: Cygwin1117921 +Node: MSYS1118744 +Node: VMS Installation1119244 +Node: VMS Compilation1120036 +Ref: VMS Compilation-Footnote-11121258 +Node: VMS Dynamic Extensions1121316 +Node: VMS Installation Details1123000 +Node: VMS Running1125252 +Node: VMS GNV1128088 +Node: VMS Old Gawk1128822 +Node: Bugs1129292 +Node: Other Versions1133175 +Node: Installation summary1139603 +Node: Notes1140659 +Node: Compatibility Mode1141524 +Node: Additions1142306 +Node: Accessing The Source1143231 +Node: Adding Code1144667 +Node: New Ports1150832 +Node: Derived Files1155314 +Ref: Derived Files-Footnote-11160789 +Ref: Derived Files-Footnote-21160823 +Ref: Derived Files-Footnote-31161419 +Node: Future Extensions1161533 +Node: Implementation Limitations1162139 +Node: Extension Design1163387 +Node: Old Extension Problems1164541 +Ref: Old Extension Problems-Footnote-11166058 +Node: Extension New Mechanism Goals1166115 +Ref: Extension New Mechanism Goals-Footnote-11169475 +Node: Extension Other Design Decisions1169664 +Node: Extension Future Growth1171772 +Node: Old Extension Mechanism1172608 +Node: Notes summary1174370 +Node: Basic Concepts1175556 +Node: Basic High Level1176237 +Ref: figure-general-flow1176509 +Ref: figure-process-flow1177108 +Ref: Basic High Level-Footnote-11180337 +Node: Basic Data Typing1180522 +Node: Glossary1183850 +Node: Copying1209008 +Node: GNU Free Documentation License1246564 +Node: Index1271700  End Tag Table -- cgit v1.2.3 From 501f5c4fc53a1c74a8a4074832dcc2bd72224ed6 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 20 Jan 2015 22:00:37 +0200 Subject: Fix a typo. --- doc/gawk.info | 892 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 446 insertions(+), 446 deletions(-) (limited to 'doc/gawk.info') diff --git a/doc/gawk.info b/doc/gawk.info index 3f32c445..b81c0700 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -5916,7 +5916,7 @@ the same as specifying no timeout at all. implicit loop that reads input records and matches them against patterns, like so: - $ gawk 'BEGIN { PROCINFO["-", "READ_TIMEOUT"] = 5000 } + $ gawk 'BEGIN { PROCINFO["-", "READ_TIMEOUT"] = 5000 } > { print "You entered: " $0 }' gawk -| You entered: gawk @@ -34408,450 +34408,450 @@ Node: Getline Notes257180 Node: Getline Summary259972 Ref: table-getline-variants260384 Node: Read Timeout261213 -Ref: Read Timeout-Footnote-1265038 -Node: Command-line directories265096 -Node: Input Summary266001 -Node: Input Exercises269302 -Node: Printing270030 -Node: Print271807 -Node: Print Examples273264 -Node: Output Separators276043 -Node: OFMT278061 -Node: Printf279415 -Node: Basic Printf280200 -Node: Control Letters281770 -Node: Format Modifiers285753 -Node: Printf Examples291762 -Node: Redirection294248 -Node: Special FD301089 -Ref: Special FD-Footnote-1304249 -Node: Special Files304323 -Node: Other Inherited Files304940 -Node: Special Network305940 -Node: Special Caveats306802 -Node: Close Files And Pipes307753 -Ref: Close Files And Pipes-Footnote-1314935 -Ref: Close Files And Pipes-Footnote-2315083 -Node: Output Summary315233 -Node: Output Exercises316231 -Node: Expressions316911 -Node: Values318096 -Node: Constants318774 -Node: Scalar Constants319465 -Ref: Scalar Constants-Footnote-1320324 -Node: Nondecimal-numbers320574 -Node: Regexp Constants323592 -Node: Using Constant Regexps324117 -Node: Variables327260 -Node: Using Variables327915 -Node: Assignment Options329826 -Node: Conversion331701 -Node: Strings And Numbers332225 -Ref: Strings And Numbers-Footnote-1335290 -Node: Locale influences conversions335399 -Ref: table-locale-affects338146 -Node: All Operators338734 -Node: Arithmetic Ops339364 -Node: Concatenation341869 -Ref: Concatenation-Footnote-1344688 -Node: Assignment Ops344794 -Ref: table-assign-ops349773 -Node: Increment Ops351045 -Node: Truth Values and Conditions354483 -Node: Truth Values355568 -Node: Typing and Comparison356617 -Node: Variable Typing357427 -Node: Comparison Operators361080 -Ref: table-relational-ops361490 -Node: POSIX String Comparison364985 -Ref: POSIX String Comparison-Footnote-1366057 -Node: Boolean Ops366195 -Ref: Boolean Ops-Footnote-1370674 -Node: Conditional Exp370765 -Node: Function Calls372492 -Node: Precedence376372 -Node: Locales380033 -Node: Expressions Summary381665 -Node: Patterns and Actions384225 -Node: Pattern Overview385345 -Node: Regexp Patterns387024 -Node: Expression Patterns387567 -Node: Ranges391277 -Node: BEGIN/END394383 -Node: Using BEGIN/END395144 -Ref: Using BEGIN/END-Footnote-1397878 -Node: I/O And BEGIN/END397984 -Node: BEGINFILE/ENDFILE400298 -Node: Empty403199 -Node: Using Shell Variables403516 -Node: Action Overview405789 -Node: Statements408115 -Node: If Statement409963 -Node: While Statement411458 -Node: Do Statement413487 -Node: For Statement414631 -Node: Switch Statement417788 -Node: Break Statement420170 -Node: Continue Statement422211 -Node: Next Statement424038 -Node: Nextfile Statement426419 -Node: Exit Statement429049 -Node: Built-in Variables431452 -Node: User-modified432585 -Ref: User-modified-Footnote-1440266 -Node: Auto-set440328 -Ref: Auto-set-Footnote-1453363 -Ref: Auto-set-Footnote-2453568 -Node: ARGC and ARGV453624 -Node: Pattern Action Summary457842 -Node: Arrays460269 -Node: Array Basics461598 -Node: Array Intro462442 -Ref: figure-array-elements464406 -Ref: Array Intro-Footnote-1466932 -Node: Reference to Elements467060 -Node: Assigning Elements469512 -Node: Array Example470003 -Node: Scanning an Array471761 -Node: Controlling Scanning474777 -Ref: Controlling Scanning-Footnote-1479973 -Node: Numeric Array Subscripts480289 -Node: Uninitialized Subscripts482474 -Node: Delete484091 -Ref: Delete-Footnote-1486834 -Node: Multidimensional486891 -Node: Multiscanning489988 -Node: Arrays of Arrays491577 -Node: Arrays Summary496336 -Node: Functions498428 -Node: Built-in499327 -Node: Calling Built-in500405 -Node: Numeric Functions502396 -Ref: Numeric Functions-Footnote-1506413 -Ref: Numeric Functions-Footnote-2506770 -Ref: Numeric Functions-Footnote-3506818 -Node: String Functions507090 -Ref: String Functions-Footnote-1530565 -Ref: String Functions-Footnote-2530694 -Ref: String Functions-Footnote-3530942 -Node: Gory Details531029 -Ref: table-sub-escapes532810 -Ref: table-sub-proposed534330 -Ref: table-posix-sub535694 -Ref: table-gensub-escapes537230 -Ref: Gory Details-Footnote-1538062 -Node: I/O Functions538213 -Ref: I/O Functions-Footnote-1545431 -Node: Time Functions545578 -Ref: Time Functions-Footnote-1556066 -Ref: Time Functions-Footnote-2556134 -Ref: Time Functions-Footnote-3556292 -Ref: Time Functions-Footnote-4556403 -Ref: Time Functions-Footnote-5556515 -Ref: Time Functions-Footnote-6556742 -Node: Bitwise Functions557008 -Ref: table-bitwise-ops557570 -Ref: Bitwise Functions-Footnote-1561879 -Node: Type Functions562048 -Node: I18N Functions563199 -Node: User-defined564844 -Node: Definition Syntax565649 -Ref: Definition Syntax-Footnote-1571056 -Node: Function Example571127 -Ref: Function Example-Footnote-1574046 -Node: Function Caveats574068 -Node: Calling A Function574586 -Node: Variable Scope575544 -Node: Pass By Value/Reference578532 -Node: Return Statement582027 -Node: Dynamic Typing585008 -Node: Indirect Calls585937 -Ref: Indirect Calls-Footnote-1597239 -Node: Functions Summary597367 -Node: Library Functions600069 -Ref: Library Functions-Footnote-1603678 -Ref: Library Functions-Footnote-2603821 -Node: Library Names603992 -Ref: Library Names-Footnote-1607446 -Ref: Library Names-Footnote-2607669 -Node: General Functions607755 -Node: Strtonum Function608858 -Node: Assert Function611880 -Node: Round Function615204 -Node: Cliff Random Function616745 -Node: Ordinal Functions617761 -Ref: Ordinal Functions-Footnote-1620824 -Ref: Ordinal Functions-Footnote-2621076 -Node: Join Function621287 -Ref: Join Function-Footnote-1623056 -Node: Getlocaltime Function623256 -Node: Readfile Function627000 -Node: Shell Quoting628970 -Node: Data File Management630371 -Node: Filetrans Function631003 -Node: Rewind Function635059 -Node: File Checking636446 -Ref: File Checking-Footnote-1637778 -Node: Empty Files637979 -Node: Ignoring Assigns639958 -Node: Getopt Function641509 -Ref: Getopt Function-Footnote-1652971 -Node: Passwd Functions653171 -Ref: Passwd Functions-Footnote-1662008 -Node: Group Functions662096 -Ref: Group Functions-Footnote-1669990 -Node: Walking Arrays670203 -Node: Library Functions Summary671806 -Node: Library Exercises673207 -Node: Sample Programs674487 -Node: Running Examples675257 -Node: Clones675985 -Node: Cut Program677209 -Node: Egrep Program686928 -Ref: Egrep Program-Footnote-1694426 -Node: Id Program694536 -Node: Split Program698181 -Ref: Split Program-Footnote-1701629 -Node: Tee Program701757 -Node: Uniq Program704546 -Node: Wc Program711965 -Ref: Wc Program-Footnote-1716215 -Node: Miscellaneous Programs716309 -Node: Dupword Program717522 -Node: Alarm Program719553 -Node: Translate Program724357 -Ref: Translate Program-Footnote-1728922 -Node: Labels Program729192 -Ref: Labels Program-Footnote-1732543 -Node: Word Sorting732627 -Node: History Sorting736698 -Node: Extract Program738534 -Node: Simple Sed746059 -Node: Igawk Program749127 -Ref: Igawk Program-Footnote-1763451 -Ref: Igawk Program-Footnote-2763652 -Ref: Igawk Program-Footnote-3763774 -Node: Anagram Program763889 -Node: Signature Program766946 -Node: Programs Summary768193 -Node: Programs Exercises769386 -Ref: Programs Exercises-Footnote-1773517 -Node: Advanced Features773608 -Node: Nondecimal Data775556 -Node: Array Sorting777146 -Node: Controlling Array Traversal777843 -Ref: Controlling Array Traversal-Footnote-1786176 -Node: Array Sorting Functions786294 -Ref: Array Sorting Functions-Footnote-1790183 -Node: Two-way I/O790379 -Ref: Two-way I/O-Footnote-1795324 -Ref: Two-way I/O-Footnote-2795510 -Node: TCP/IP Networking795592 -Node: Profiling798465 -Node: Advanced Features Summary806012 -Node: Internationalization807945 -Node: I18N and L10N809425 -Node: Explaining gettext810111 -Ref: Explaining gettext-Footnote-1815136 -Ref: Explaining gettext-Footnote-2815320 -Node: Programmer i18n815485 -Ref: Programmer i18n-Footnote-1820351 -Node: Translator i18n820400 -Node: String Extraction821194 -Ref: String Extraction-Footnote-1822325 -Node: Printf Ordering822411 -Ref: Printf Ordering-Footnote-1825197 -Node: I18N Portability825261 -Ref: I18N Portability-Footnote-1827716 -Node: I18N Example827779 -Ref: I18N Example-Footnote-1830582 -Node: Gawk I18N830654 -Node: I18N Summary831292 -Node: Debugger832631 -Node: Debugging833653 -Node: Debugging Concepts834094 -Node: Debugging Terms835947 -Node: Awk Debugging838519 -Node: Sample Debugging Session839413 -Node: Debugger Invocation839933 -Node: Finding The Bug841317 -Node: List of Debugger Commands847792 -Node: Breakpoint Control849125 -Node: Debugger Execution Control852821 -Node: Viewing And Changing Data856185 -Node: Execution Stack859563 -Node: Debugger Info861200 -Node: Miscellaneous Debugger Commands865217 -Node: Readline Support870246 -Node: Limitations871138 -Node: Debugging Summary873252 -Node: Arbitrary Precision Arithmetic874420 -Node: Computer Arithmetic875836 -Ref: table-numeric-ranges879434 -Ref: Computer Arithmetic-Footnote-1880293 -Node: Math Definitions880350 -Ref: table-ieee-formats883638 -Ref: Math Definitions-Footnote-1884242 -Node: MPFR features884347 -Node: FP Math Caution886018 -Ref: FP Math Caution-Footnote-1887068 -Node: Inexactness of computations887437 -Node: Inexact representation888396 -Node: Comparing FP Values889753 -Node: Errors accumulate890835 -Node: Getting Accuracy892268 -Node: Try To Round894930 -Node: Setting precision895829 -Ref: table-predefined-precision-strings896513 -Node: Setting the rounding mode898302 -Ref: table-gawk-rounding-modes898666 -Ref: Setting the rounding mode-Footnote-1902121 -Node: Arbitrary Precision Integers902300 -Ref: Arbitrary Precision Integers-Footnote-1905286 -Node: POSIX Floating Point Problems905435 -Ref: POSIX Floating Point Problems-Footnote-1909308 -Node: Floating point summary909346 -Node: Dynamic Extensions911540 -Node: Extension Intro913092 -Node: Plugin License914358 -Node: Extension Mechanism Outline915155 -Ref: figure-load-extension915583 -Ref: figure-register-new-function917063 -Ref: figure-call-new-function918067 -Node: Extension API Description920053 -Node: Extension API Functions Introduction921503 -Node: General Data Types926327 -Ref: General Data Types-Footnote-1932066 -Node: Memory Allocation Functions932365 -Ref: Memory Allocation Functions-Footnote-1935204 -Node: Constructor Functions935300 -Node: Registration Functions937034 -Node: Extension Functions937719 -Node: Exit Callback Functions940016 -Node: Extension Version String941264 -Node: Input Parsers941929 -Node: Output Wrappers951808 -Node: Two-way processors956323 -Node: Printing Messages958527 -Ref: Printing Messages-Footnote-1959603 -Node: Updating `ERRNO'959755 -Node: Requesting Values960495 -Ref: table-value-types-returned961223 -Node: Accessing Parameters962180 -Node: Symbol Table Access963411 -Node: Symbol table by name963925 -Node: Symbol table by cookie965906 -Ref: Symbol table by cookie-Footnote-1970050 -Node: Cached values970113 -Ref: Cached values-Footnote-1973612 -Node: Array Manipulation973703 -Ref: Array Manipulation-Footnote-1974801 -Node: Array Data Types974838 -Ref: Array Data Types-Footnote-1977493 -Node: Array Functions977585 -Node: Flattening Arrays981439 -Node: Creating Arrays988331 -Node: Extension API Variables993102 -Node: Extension Versioning993738 -Node: Extension API Informational Variables995639 -Node: Extension API Boilerplate996704 -Node: Finding Extensions1000513 -Node: Extension Example1001073 -Node: Internal File Description1001845 -Node: Internal File Ops1005912 -Ref: Internal File Ops-Footnote-11017582 -Node: Using Internal File Ops1017722 -Ref: Using Internal File Ops-Footnote-11020105 -Node: Extension Samples1020378 -Node: Extension Sample File Functions1021904 -Node: Extension Sample Fnmatch1029542 -Node: Extension Sample Fork1031033 -Node: Extension Sample Inplace1032248 -Node: Extension Sample Ord1033923 -Node: Extension Sample Readdir1034759 -Ref: table-readdir-file-types1035635 -Node: Extension Sample Revout1036446 -Node: Extension Sample Rev2way1037036 -Node: Extension Sample Read write array1037776 -Node: Extension Sample Readfile1039716 -Node: Extension Sample Time1040811 -Node: Extension Sample API Tests1042160 -Node: gawkextlib1042651 -Node: Extension summary1045309 -Node: Extension Exercises1048998 -Node: Language History1049720 -Node: V7/SVR3.11051376 -Node: SVR41053557 -Node: POSIX1055002 -Node: BTL1056391 -Node: POSIX/GNU1057125 -Node: Feature History1062689 -Node: Common Extensions1075787 -Node: Ranges and Locales1077111 -Ref: Ranges and Locales-Footnote-11081729 -Ref: Ranges and Locales-Footnote-21081756 -Ref: Ranges and Locales-Footnote-31081990 -Node: Contributors1082211 -Node: History summary1087752 -Node: Installation1089122 -Node: Gawk Distribution1090068 -Node: Getting1090552 -Node: Extracting1091375 -Node: Distribution contents1093010 -Node: Unix Installation1098727 -Node: Quick Installation1099344 -Node: Additional Configuration Options1101768 -Node: Configuration Philosophy1103506 -Node: Non-Unix Installation1105875 -Node: PC Installation1106333 -Node: PC Binary Installation1107652 -Node: PC Compiling1109500 -Ref: PC Compiling-Footnote-11112521 -Node: PC Testing1112630 -Node: PC Using1113806 -Node: Cygwin1117921 -Node: MSYS1118744 -Node: VMS Installation1119244 -Node: VMS Compilation1120036 -Ref: VMS Compilation-Footnote-11121258 -Node: VMS Dynamic Extensions1121316 -Node: VMS Installation Details1123000 -Node: VMS Running1125252 -Node: VMS GNV1128088 -Node: VMS Old Gawk1128822 -Node: Bugs1129292 -Node: Other Versions1133175 -Node: Installation summary1139603 -Node: Notes1140659 -Node: Compatibility Mode1141524 -Node: Additions1142306 -Node: Accessing The Source1143231 -Node: Adding Code1144667 -Node: New Ports1150832 -Node: Derived Files1155314 -Ref: Derived Files-Footnote-11160789 -Ref: Derived Files-Footnote-21160823 -Ref: Derived Files-Footnote-31161419 -Node: Future Extensions1161533 -Node: Implementation Limitations1162139 -Node: Extension Design1163387 -Node: Old Extension Problems1164541 -Ref: Old Extension Problems-Footnote-11166058 -Node: Extension New Mechanism Goals1166115 -Ref: Extension New Mechanism Goals-Footnote-11169475 -Node: Extension Other Design Decisions1169664 -Node: Extension Future Growth1171772 -Node: Old Extension Mechanism1172608 -Node: Notes summary1174370 -Node: Basic Concepts1175556 -Node: Basic High Level1176237 -Ref: figure-general-flow1176509 -Ref: figure-process-flow1177108 -Ref: Basic High Level-Footnote-11180337 -Node: Basic Data Typing1180522 -Node: Glossary1183850 -Node: Copying1209008 -Node: GNU Free Documentation License1246564 -Node: Index1271700 +Ref: Read Timeout-Footnote-1265037 +Node: Command-line directories265095 +Node: Input Summary266000 +Node: Input Exercises269301 +Node: Printing270029 +Node: Print271806 +Node: Print Examples273263 +Node: Output Separators276042 +Node: OFMT278060 +Node: Printf279414 +Node: Basic Printf280199 +Node: Control Letters281769 +Node: Format Modifiers285752 +Node: Printf Examples291761 +Node: Redirection294247 +Node: Special FD301088 +Ref: Special FD-Footnote-1304248 +Node: Special Files304322 +Node: Other Inherited Files304939 +Node: Special Network305939 +Node: Special Caveats306801 +Node: Close Files And Pipes307752 +Ref: Close Files And Pipes-Footnote-1314934 +Ref: Close Files And Pipes-Footnote-2315082 +Node: Output Summary315232 +Node: Output Exercises316230 +Node: Expressions316910 +Node: Values318095 +Node: Constants318773 +Node: Scalar Constants319464 +Ref: Scalar Constants-Footnote-1320323 +Node: Nondecimal-numbers320573 +Node: Regexp Constants323591 +Node: Using Constant Regexps324116 +Node: Variables327259 +Node: Using Variables327914 +Node: Assignment Options329825 +Node: Conversion331700 +Node: Strings And Numbers332224 +Ref: Strings And Numbers-Footnote-1335289 +Node: Locale influences conversions335398 +Ref: table-locale-affects338145 +Node: All Operators338733 +Node: Arithmetic Ops339363 +Node: Concatenation341868 +Ref: Concatenation-Footnote-1344687 +Node: Assignment Ops344793 +Ref: table-assign-ops349772 +Node: Increment Ops351044 +Node: Truth Values and Conditions354482 +Node: Truth Values355567 +Node: Typing and Comparison356616 +Node: Variable Typing357426 +Node: Comparison Operators361079 +Ref: table-relational-ops361489 +Node: POSIX String Comparison364984 +Ref: POSIX String Comparison-Footnote-1366056 +Node: Boolean Ops366194 +Ref: Boolean Ops-Footnote-1370673 +Node: Conditional Exp370764 +Node: Function Calls372491 +Node: Precedence376371 +Node: Locales380032 +Node: Expressions Summary381664 +Node: Patterns and Actions384224 +Node: Pattern Overview385344 +Node: Regexp Patterns387023 +Node: Expression Patterns387566 +Node: Ranges391276 +Node: BEGIN/END394382 +Node: Using BEGIN/END395143 +Ref: Using BEGIN/END-Footnote-1397877 +Node: I/O And BEGIN/END397983 +Node: BEGINFILE/ENDFILE400297 +Node: Empty403198 +Node: Using Shell Variables403515 +Node: Action Overview405788 +Node: Statements408114 +Node: If Statement409962 +Node: While Statement411457 +Node: Do Statement413486 +Node: For Statement414630 +Node: Switch Statement417787 +Node: Break Statement420169 +Node: Continue Statement422210 +Node: Next Statement424037 +Node: Nextfile Statement426418 +Node: Exit Statement429048 +Node: Built-in Variables431451 +Node: User-modified432584 +Ref: User-modified-Footnote-1440265 +Node: Auto-set440327 +Ref: Auto-set-Footnote-1453362 +Ref: Auto-set-Footnote-2453567 +Node: ARGC and ARGV453623 +Node: Pattern Action Summary457841 +Node: Arrays460268 +Node: Array Basics461597 +Node: Array Intro462441 +Ref: figure-array-elements464405 +Ref: Array Intro-Footnote-1466931 +Node: Reference to Elements467059 +Node: Assigning Elements469511 +Node: Array Example470002 +Node: Scanning an Array471760 +Node: Controlling Scanning474776 +Ref: Controlling Scanning-Footnote-1479972 +Node: Numeric Array Subscripts480288 +Node: Uninitialized Subscripts482473 +Node: Delete484090 +Ref: Delete-Footnote-1486833 +Node: Multidimensional486890 +Node: Multiscanning489987 +Node: Arrays of Arrays491576 +Node: Arrays Summary496335 +Node: Functions498427 +Node: Built-in499326 +Node: Calling Built-in500404 +Node: Numeric Functions502395 +Ref: Numeric Functions-Footnote-1506412 +Ref: Numeric Functions-Footnote-2506769 +Ref: Numeric Functions-Footnote-3506817 +Node: String Functions507089 +Ref: String Functions-Footnote-1530564 +Ref: String Functions-Footnote-2530693 +Ref: String Functions-Footnote-3530941 +Node: Gory Details531028 +Ref: table-sub-escapes532809 +Ref: table-sub-proposed534329 +Ref: table-posix-sub535693 +Ref: table-gensub-escapes537229 +Ref: Gory Details-Footnote-1538061 +Node: I/O Functions538212 +Ref: I/O Functions-Footnote-1545430 +Node: Time Functions545577 +Ref: Time Functions-Footnote-1556065 +Ref: Time Functions-Footnote-2556133 +Ref: Time Functions-Footnote-3556291 +Ref: Time Functions-Footnote-4556402 +Ref: Time Functions-Footnote-5556514 +Ref: Time Functions-Footnote-6556741 +Node: Bitwise Functions557007 +Ref: table-bitwise-ops557569 +Ref: Bitwise Functions-Footnote-1561878 +Node: Type Functions562047 +Node: I18N Functions563198 +Node: User-defined564843 +Node: Definition Syntax565648 +Ref: Definition Syntax-Footnote-1571055 +Node: Function Example571126 +Ref: Function Example-Footnote-1574045 +Node: Function Caveats574067 +Node: Calling A Function574585 +Node: Variable Scope575543 +Node: Pass By Value/Reference578531 +Node: Return Statement582026 +Node: Dynamic Typing585007 +Node: Indirect Calls585936 +Ref: Indirect Calls-Footnote-1597238 +Node: Functions Summary597366 +Node: Library Functions600068 +Ref: Library Functions-Footnote-1603677 +Ref: Library Functions-Footnote-2603820 +Node: Library Names603991 +Ref: Library Names-Footnote-1607445 +Ref: Library Names-Footnote-2607668 +Node: General Functions607754 +Node: Strtonum Function608857 +Node: Assert Function611879 +Node: Round Function615203 +Node: Cliff Random Function616744 +Node: Ordinal Functions617760 +Ref: Ordinal Functions-Footnote-1620823 +Ref: Ordinal Functions-Footnote-2621075 +Node: Join Function621286 +Ref: Join Function-Footnote-1623055 +Node: Getlocaltime Function623255 +Node: Readfile Function626999 +Node: Shell Quoting628969 +Node: Data File Management630370 +Node: Filetrans Function631002 +Node: Rewind Function635058 +Node: File Checking636445 +Ref: File Checking-Footnote-1637777 +Node: Empty Files637978 +Node: Ignoring Assigns639957 +Node: Getopt Function641508 +Ref: Getopt Function-Footnote-1652970 +Node: Passwd Functions653170 +Ref: Passwd Functions-Footnote-1662007 +Node: Group Functions662095 +Ref: Group Functions-Footnote-1669989 +Node: Walking Arrays670202 +Node: Library Functions Summary671805 +Node: Library Exercises673206 +Node: Sample Programs674486 +Node: Running Examples675256 +Node: Clones675984 +Node: Cut Program677208 +Node: Egrep Program686927 +Ref: Egrep Program-Footnote-1694425 +Node: Id Program694535 +Node: Split Program698180 +Ref: Split Program-Footnote-1701628 +Node: Tee Program701756 +Node: Uniq Program704545 +Node: Wc Program711964 +Ref: Wc Program-Footnote-1716214 +Node: Miscellaneous Programs716308 +Node: Dupword Program717521 +Node: Alarm Program719552 +Node: Translate Program724356 +Ref: Translate Program-Footnote-1728921 +Node: Labels Program729191 +Ref: Labels Program-Footnote-1732542 +Node: Word Sorting732626 +Node: History Sorting736697 +Node: Extract Program738533 +Node: Simple Sed746058 +Node: Igawk Program749126 +Ref: Igawk Program-Footnote-1763450 +Ref: Igawk Program-Footnote-2763651 +Ref: Igawk Program-Footnote-3763773 +Node: Anagram Program763888 +Node: Signature Program766945 +Node: Programs Summary768192 +Node: Programs Exercises769385 +Ref: Programs Exercises-Footnote-1773516 +Node: Advanced Features773607 +Node: Nondecimal Data775555 +Node: Array Sorting777145 +Node: Controlling Array Traversal777842 +Ref: Controlling Array Traversal-Footnote-1786175 +Node: Array Sorting Functions786293 +Ref: Array Sorting Functions-Footnote-1790182 +Node: Two-way I/O790378 +Ref: Two-way I/O-Footnote-1795323 +Ref: Two-way I/O-Footnote-2795509 +Node: TCP/IP Networking795591 +Node: Profiling798464 +Node: Advanced Features Summary806011 +Node: Internationalization807944 +Node: I18N and L10N809424 +Node: Explaining gettext810110 +Ref: Explaining gettext-Footnote-1815135 +Ref: Explaining gettext-Footnote-2815319 +Node: Programmer i18n815484 +Ref: Programmer i18n-Footnote-1820350 +Node: Translator i18n820399 +Node: String Extraction821193 +Ref: String Extraction-Footnote-1822324 +Node: Printf Ordering822410 +Ref: Printf Ordering-Footnote-1825196 +Node: I18N Portability825260 +Ref: I18N Portability-Footnote-1827715 +Node: I18N Example827778 +Ref: I18N Example-Footnote-1830581 +Node: Gawk I18N830653 +Node: I18N Summary831291 +Node: Debugger832630 +Node: Debugging833652 +Node: Debugging Concepts834093 +Node: Debugging Terms835946 +Node: Awk Debugging838518 +Node: Sample Debugging Session839412 +Node: Debugger Invocation839932 +Node: Finding The Bug841316 +Node: List of Debugger Commands847791 +Node: Breakpoint Control849124 +Node: Debugger Execution Control852820 +Node: Viewing And Changing Data856184 +Node: Execution Stack859562 +Node: Debugger Info861199 +Node: Miscellaneous Debugger Commands865216 +Node: Readline Support870245 +Node: Limitations871137 +Node: Debugging Summary873251 +Node: Arbitrary Precision Arithmetic874419 +Node: Computer Arithmetic875835 +Ref: table-numeric-ranges879433 +Ref: Computer Arithmetic-Footnote-1880292 +Node: Math Definitions880349 +Ref: table-ieee-formats883637 +Ref: Math Definitions-Footnote-1884241 +Node: MPFR features884346 +Node: FP Math Caution886017 +Ref: FP Math Caution-Footnote-1887067 +Node: Inexactness of computations887436 +Node: Inexact representation888395 +Node: Comparing FP Values889752 +Node: Errors accumulate890834 +Node: Getting Accuracy892267 +Node: Try To Round894929 +Node: Setting precision895828 +Ref: table-predefined-precision-strings896512 +Node: Setting the rounding mode898301 +Ref: table-gawk-rounding-modes898665 +Ref: Setting the rounding mode-Footnote-1902120 +Node: Arbitrary Precision Integers902299 +Ref: Arbitrary Precision Integers-Footnote-1905285 +Node: POSIX Floating Point Problems905434 +Ref: POSIX Floating Point Problems-Footnote-1909307 +Node: Floating point summary909345 +Node: Dynamic Extensions911539 +Node: Extension Intro913091 +Node: Plugin License914357 +Node: Extension Mechanism Outline915154 +Ref: figure-load-extension915582 +Ref: figure-register-new-function917062 +Ref: figure-call-new-function918066 +Node: Extension API Description920052 +Node: Extension API Functions Introduction921502 +Node: General Data Types926326 +Ref: General Data Types-Footnote-1932065 +Node: Memory Allocation Functions932364 +Ref: Memory Allocation Functions-Footnote-1935203 +Node: Constructor Functions935299 +Node: Registration Functions937033 +Node: Extension Functions937718 +Node: Exit Callback Functions940015 +Node: Extension Version String941263 +Node: Input Parsers941928 +Node: Output Wrappers951807 +Node: Two-way processors956322 +Node: Printing Messages958526 +Ref: Printing Messages-Footnote-1959602 +Node: Updating `ERRNO'959754 +Node: Requesting Values960494 +Ref: table-value-types-returned961222 +Node: Accessing Parameters962179 +Node: Symbol Table Access963410 +Node: Symbol table by name963924 +Node: Symbol table by cookie965905 +Ref: Symbol table by cookie-Footnote-1970049 +Node: Cached values970112 +Ref: Cached values-Footnote-1973611 +Node: Array Manipulation973702 +Ref: Array Manipulation-Footnote-1974800 +Node: Array Data Types974837 +Ref: Array Data Types-Footnote-1977492 +Node: Array Functions977584 +Node: Flattening Arrays981438 +Node: Creating Arrays988330 +Node: Extension API Variables993101 +Node: Extension Versioning993737 +Node: Extension API Informational Variables995638 +Node: Extension API Boilerplate996703 +Node: Finding Extensions1000512 +Node: Extension Example1001072 +Node: Internal File Description1001844 +Node: Internal File Ops1005911 +Ref: Internal File Ops-Footnote-11017581 +Node: Using Internal File Ops1017721 +Ref: Using Internal File Ops-Footnote-11020104 +Node: Extension Samples1020377 +Node: Extension Sample File Functions1021903 +Node: Extension Sample Fnmatch1029541 +Node: Extension Sample Fork1031032 +Node: Extension Sample Inplace1032247 +Node: Extension Sample Ord1033922 +Node: Extension Sample Readdir1034758 +Ref: table-readdir-file-types1035634 +Node: Extension Sample Revout1036445 +Node: Extension Sample Rev2way1037035 +Node: Extension Sample Read write array1037775 +Node: Extension Sample Readfile1039715 +Node: Extension Sample Time1040810 +Node: Extension Sample API Tests1042159 +Node: gawkextlib1042650 +Node: Extension summary1045308 +Node: Extension Exercises1048997 +Node: Language History1049719 +Node: V7/SVR3.11051375 +Node: SVR41053556 +Node: POSIX1055001 +Node: BTL1056390 +Node: POSIX/GNU1057124 +Node: Feature History1062688 +Node: Common Extensions1075786 +Node: Ranges and Locales1077110 +Ref: Ranges and Locales-Footnote-11081728 +Ref: Ranges and Locales-Footnote-21081755 +Ref: Ranges and Locales-Footnote-31081989 +Node: Contributors1082210 +Node: History summary1087751 +Node: Installation1089121 +Node: Gawk Distribution1090067 +Node: Getting1090551 +Node: Extracting1091374 +Node: Distribution contents1093009 +Node: Unix Installation1098726 +Node: Quick Installation1099343 +Node: Additional Configuration Options1101767 +Node: Configuration Philosophy1103505 +Node: Non-Unix Installation1105874 +Node: PC Installation1106332 +Node: PC Binary Installation1107651 +Node: PC Compiling1109499 +Ref: PC Compiling-Footnote-11112520 +Node: PC Testing1112629 +Node: PC Using1113805 +Node: Cygwin1117920 +Node: MSYS1118743 +Node: VMS Installation1119243 +Node: VMS Compilation1120035 +Ref: VMS Compilation-Footnote-11121257 +Node: VMS Dynamic Extensions1121315 +Node: VMS Installation Details1122999 +Node: VMS Running1125251 +Node: VMS GNV1128087 +Node: VMS Old Gawk1128821 +Node: Bugs1129291 +Node: Other Versions1133174 +Node: Installation summary1139602 +Node: Notes1140658 +Node: Compatibility Mode1141523 +Node: Additions1142305 +Node: Accessing The Source1143230 +Node: Adding Code1144666 +Node: New Ports1150831 +Node: Derived Files1155313 +Ref: Derived Files-Footnote-11160788 +Ref: Derived Files-Footnote-21160822 +Ref: Derived Files-Footnote-31161418 +Node: Future Extensions1161532 +Node: Implementation Limitations1162138 +Node: Extension Design1163386 +Node: Old Extension Problems1164540 +Ref: Old Extension Problems-Footnote-11166057 +Node: Extension New Mechanism Goals1166114 +Ref: Extension New Mechanism Goals-Footnote-11169474 +Node: Extension Other Design Decisions1169663 +Node: Extension Future Growth1171771 +Node: Old Extension Mechanism1172607 +Node: Notes summary1174369 +Node: Basic Concepts1175555 +Node: Basic High Level1176236 +Ref: figure-general-flow1176508 +Ref: figure-process-flow1177107 +Ref: Basic High Level-Footnote-11180336 +Node: Basic Data Typing1180521 +Node: Glossary1183849 +Node: Copying1209007 +Node: GNU Free Documentation License1246563 +Node: Index1271699  End Tag Table -- cgit v1.2.3