diff options
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 1109 | ||||
-rw-r--r-- | doc/gawk.texi | 3 | ||||
-rw-r--r-- | doc/gawktexi.in | 3 |
4 files changed, 566 insertions, 553 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index ede811ef..47dd656f 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2014-12-24 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Add one more paragraph to new foreword. + 2014-12-12 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Minor fix. diff --git a/doc/gawk.info b/doc/gawk.info index d6fccecd..0224c7d5 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -797,6 +797,9 @@ module loads the C/C++ module as a dynamic plug-in. *note Dynamic 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 +think you will too. + Michael Brennan Author of `mawk' October 2014 @@ -31853,7 +31856,7 @@ Index * Brennan, Michael <2>: Simple Sed. (line 25) * Brennan, Michael <3>: Delete. (line 56) * Brennan, Michael <4>: Acknowledgments. (line 78) -* Brennan, Michael <5>: Foreword4. (line 30) +* Brennan, Michael <5>: Foreword4. (line 33) * Brennan, Michael: Foreword3. (line 84) * Brian Kernighan's awk <1>: I/O Functions. (line 43) * Brian Kernighan's awk <2>: Gory Details. (line 19) @@ -34299,557 +34302,557 @@ Tag Table: Node: Top1204 Node: Foreword342156 Node: Foreword446598 -Node: Preface48031 -Ref: Preface-Footnote-150902 -Ref: Preface-Footnote-251009 -Ref: Preface-Footnote-351242 -Node: History51384 -Node: Names53730 -Ref: Names-Footnote-154824 -Node: This Manual54970 -Ref: This Manual-Footnote-161457 -Node: Conventions61557 -Node: Manual History63895 -Ref: Manual History-Footnote-166877 -Ref: Manual History-Footnote-266918 -Node: How To Contribute66992 -Node: Acknowledgments68121 -Node: Getting Started72926 -Node: Running gawk75359 -Node: One-shot76549 -Node: Read Terminal77797 -Node: Long79824 -Node: Executable Scripts81340 -Ref: Executable Scripts-Footnote-184129 -Node: Comments84232 -Node: Quoting86714 -Node: DOS Quoting92238 -Node: Sample Data Files92913 -Node: Very Simple95508 -Node: Two Rules100406 -Node: More Complex102292 -Node: Statements/Lines105154 -Ref: Statements/Lines-Footnote-1109609 -Node: Other Features109874 -Node: When110805 -Ref: When-Footnote-1112559 -Node: Intro Summary112624 -Node: Invoking Gawk113507 -Node: Command Line115021 -Node: Options115819 -Ref: Options-Footnote-1131752 -Ref: Options-Footnote-2131981 -Node: Other Arguments132006 -Node: Naming Standard Input134954 -Node: Environment Variables136047 -Node: AWKPATH Variable136605 -Ref: AWKPATH Variable-Footnote-1139908 -Ref: AWKPATH Variable-Footnote-2139953 -Node: AWKLIBPATH Variable140213 -Node: Other Environment Variables141356 -Node: Exit Status145084 -Node: Include Files145760 -Node: Loading Shared Libraries149357 -Node: Obsolete150784 -Node: Undocumented151481 -Node: Invoking Summary151748 -Node: Regexp153412 -Node: Regexp Usage154866 -Node: Escape Sequences156903 -Node: Regexp Operators162914 -Ref: Regexp Operators-Footnote-1170340 -Ref: Regexp Operators-Footnote-2170487 -Node: Bracket Expressions170585 -Ref: table-char-classes172600 -Node: Leftmost Longest175524 -Node: Computed Regexps176826 -Node: GNU Regexp Operators180223 -Node: Case-sensitivity183896 -Ref: Case-sensitivity-Footnote-1186781 -Ref: Case-sensitivity-Footnote-2187016 -Node: Regexp Summary187124 -Node: Reading Files188591 -Node: Records190685 -Node: awk split records191418 -Node: gawk split records196333 -Ref: gawk split records-Footnote-1200877 -Node: Fields200914 -Ref: Fields-Footnote-1203690 -Node: Nonconstant Fields203776 -Ref: Nonconstant Fields-Footnote-1206019 -Node: Changing Fields206223 -Node: Field Separators212152 -Node: Default Field Splitting214857 -Node: Regexp Field Splitting215974 -Node: Single Character Fields219324 -Node: Command Line Field Separator220383 -Node: Full Line Fields223595 -Ref: Full Line Fields-Footnote-1225112 -Ref: Full Line Fields-Footnote-2225158 -Node: Field Splitting Summary225259 -Node: Constant Size227333 -Node: Splitting By Content231922 -Ref: Splitting By Content-Footnote-1235916 -Node: Multiple Line236079 -Ref: Multiple Line-Footnote-1241965 -Node: Getline242144 -Node: Plain Getline244356 -Node: Getline/Variable246996 -Node: Getline/File248144 -Node: Getline/Variable/File249528 -Ref: Getline/Variable/File-Footnote-1251131 -Node: Getline/Pipe251218 -Node: Getline/Variable/Pipe253901 -Node: Getline/Coprocess255032 -Node: Getline/Variable/Coprocess256284 -Node: Getline Notes257023 -Node: Getline Summary259815 -Ref: table-getline-variants260227 -Node: Read Timeout261056 -Ref: Read Timeout-Footnote-1264881 -Node: Command-line directories264939 -Node: Input Summary265844 -Node: Input Exercises269145 -Node: Printing269873 -Node: Print271650 -Node: Print Examples273107 -Node: Output Separators275886 -Node: OFMT277904 -Node: Printf279258 -Node: Basic Printf280043 -Node: Control Letters281613 -Node: Format Modifiers285596 -Node: Printf Examples291605 -Node: Redirection294091 -Node: Special FD300932 -Ref: Special FD-Footnote-1304092 -Node: Special Files304166 -Node: Other Inherited Files304783 -Node: Special Network305783 -Node: Special Caveats306645 -Node: Close Files And Pipes307596 -Ref: Close Files And Pipes-Footnote-1314778 -Ref: Close Files And Pipes-Footnote-2314926 -Node: Output Summary315076 -Node: Output Exercises316074 -Node: Expressions316754 -Node: Values317939 -Node: Constants318617 -Node: Scalar Constants319308 -Ref: Scalar Constants-Footnote-1320167 -Node: Nondecimal-numbers320417 -Node: Regexp Constants323435 -Node: Using Constant Regexps323960 -Node: Variables327103 -Node: Using Variables327758 -Node: Assignment Options329669 -Node: Conversion331544 -Node: Strings And Numbers332068 -Ref: Strings And Numbers-Footnote-1335133 -Node: Locale influences conversions335242 -Ref: table-locale-affects337989 -Node: All Operators338577 -Node: Arithmetic Ops339207 -Node: Concatenation341712 -Ref: Concatenation-Footnote-1344531 -Node: Assignment Ops344637 -Ref: table-assign-ops349616 -Node: Increment Ops350888 -Node: Truth Values and Conditions354326 -Node: Truth Values355411 -Node: Typing and Comparison356460 -Node: Variable Typing357270 -Node: Comparison Operators360923 -Ref: table-relational-ops361333 -Node: POSIX String Comparison364828 -Ref: POSIX String Comparison-Footnote-1365900 -Node: Boolean Ops366038 -Ref: Boolean Ops-Footnote-1370517 -Node: Conditional Exp370608 -Node: Function Calls372335 -Node: Precedence376215 -Node: Locales379876 -Node: Expressions Summary381508 -Node: Patterns and Actions384068 -Node: Pattern Overview385188 -Node: Regexp Patterns386867 -Node: Expression Patterns387410 -Node: Ranges391120 -Node: BEGIN/END394226 -Node: Using BEGIN/END394987 -Ref: Using BEGIN/END-Footnote-1397721 -Node: I/O And BEGIN/END397827 -Node: BEGINFILE/ENDFILE400141 -Node: Empty403042 -Node: Using Shell Variables403359 -Node: Action Overview405632 -Node: Statements407958 -Node: If Statement409806 -Node: While Statement411301 -Node: Do Statement413330 -Node: For Statement414474 -Node: Switch Statement417631 -Node: Break Statement420013 -Node: Continue Statement422054 -Node: Next Statement423881 -Node: Nextfile Statement426262 -Node: Exit Statement428892 -Node: Built-in Variables431295 -Node: User-modified432428 -Ref: User-modified-Footnote-1440109 -Node: Auto-set440171 -Ref: Auto-set-Footnote-1453206 -Ref: Auto-set-Footnote-2453411 -Node: ARGC and ARGV453467 -Node: Pattern Action Summary457685 -Node: Arrays460112 -Node: Array Basics461441 -Node: Array Intro462285 -Ref: figure-array-elements464249 -Ref: Array Intro-Footnote-1466775 -Node: Reference to Elements466903 -Node: Assigning Elements469355 -Node: Array Example469846 -Node: Scanning an Array471604 -Node: Controlling Scanning474620 -Ref: Controlling Scanning-Footnote-1479816 -Node: Numeric Array Subscripts480132 -Node: Uninitialized Subscripts482317 -Node: Delete483934 -Ref: Delete-Footnote-1486677 -Node: Multidimensional486734 -Node: Multiscanning489831 -Node: Arrays of Arrays491420 -Node: Arrays Summary496179 -Node: Functions498271 -Node: Built-in499170 -Node: Calling Built-in500248 -Node: Numeric Functions502239 -Ref: Numeric Functions-Footnote-1506256 -Ref: Numeric Functions-Footnote-2506613 -Ref: Numeric Functions-Footnote-3506661 -Node: String Functions506933 -Ref: String Functions-Footnote-1530408 -Ref: String Functions-Footnote-2530537 -Ref: String Functions-Footnote-3530785 -Node: Gory Details530872 -Ref: table-sub-escapes532653 -Ref: table-sub-proposed534173 -Ref: table-posix-sub535537 -Ref: table-gensub-escapes537073 -Ref: Gory Details-Footnote-1537905 -Node: I/O Functions538056 -Ref: I/O Functions-Footnote-1545274 -Node: Time Functions545421 -Ref: Time Functions-Footnote-1555909 -Ref: Time Functions-Footnote-2555977 -Ref: Time Functions-Footnote-3556135 -Ref: Time Functions-Footnote-4556246 -Ref: Time Functions-Footnote-5556358 -Ref: Time Functions-Footnote-6556585 -Node: Bitwise Functions556851 -Ref: table-bitwise-ops557413 -Ref: Bitwise Functions-Footnote-1561722 -Node: Type Functions561891 -Node: I18N Functions563042 -Node: User-defined564687 -Node: Definition Syntax565492 -Ref: Definition Syntax-Footnote-1570899 -Node: Function Example570970 -Ref: Function Example-Footnote-1573889 -Node: Function Caveats573911 -Node: Calling A Function574429 -Node: Variable Scope575387 -Node: Pass By Value/Reference578375 -Node: Return Statement581870 -Node: Dynamic Typing584851 -Node: Indirect Calls585780 -Ref: Indirect Calls-Footnote-1597082 -Node: Functions Summary597210 -Node: Library Functions599912 -Ref: Library Functions-Footnote-1603521 -Ref: Library Functions-Footnote-2603664 -Node: Library Names603835 -Ref: Library Names-Footnote-1607289 -Ref: Library Names-Footnote-2607512 -Node: General Functions607598 -Node: Strtonum Function608701 -Node: Assert Function611723 -Node: Round Function615047 -Node: Cliff Random Function616588 -Node: Ordinal Functions617604 -Ref: Ordinal Functions-Footnote-1620667 -Ref: Ordinal Functions-Footnote-2620919 -Node: Join Function621130 -Ref: Join Function-Footnote-1622899 -Node: Getlocaltime Function623099 -Node: Readfile Function626843 -Node: Shell Quoting628813 -Node: Data File Management630214 -Node: Filetrans Function630846 -Node: Rewind Function634902 -Node: File Checking636289 -Ref: File Checking-Footnote-1637621 -Node: Empty Files637822 -Node: Ignoring Assigns639801 -Node: Getopt Function641352 -Ref: Getopt Function-Footnote-1652814 -Node: Passwd Functions653014 -Ref: Passwd Functions-Footnote-1661851 -Node: Group Functions661939 -Ref: Group Functions-Footnote-1669833 -Node: Walking Arrays670046 -Node: Library Functions Summary671649 -Node: Library Exercises673050 -Node: Sample Programs674330 -Node: Running Examples675100 -Node: Clones675828 -Node: Cut Program677052 -Node: Egrep Program686771 -Ref: Egrep Program-Footnote-1694269 -Node: Id Program694379 -Node: Split Program698024 -Ref: Split Program-Footnote-1701472 -Node: Tee Program701600 -Node: Uniq Program704389 -Node: Wc Program711808 -Ref: Wc Program-Footnote-1716058 -Node: Miscellaneous Programs716152 -Node: Dupword Program717365 -Node: Alarm Program719396 -Node: Translate Program724200 -Ref: Translate Program-Footnote-1728765 -Node: Labels Program729035 -Ref: Labels Program-Footnote-1732386 -Node: Word Sorting732470 -Node: History Sorting736541 -Node: Extract Program738377 -Node: Simple Sed745902 -Node: Igawk Program748970 -Ref: Igawk Program-Footnote-1763294 -Ref: Igawk Program-Footnote-2763495 -Ref: Igawk Program-Footnote-3763617 -Node: Anagram Program763732 -Node: Signature Program766789 -Node: Programs Summary768036 -Node: Programs Exercises769229 -Ref: Programs Exercises-Footnote-1773360 -Node: Advanced Features773451 -Node: Nondecimal Data775399 -Node: Array Sorting776989 -Node: Controlling Array Traversal777686 -Ref: Controlling Array Traversal-Footnote-1786019 -Node: Array Sorting Functions786137 -Ref: Array Sorting Functions-Footnote-1790026 -Node: Two-way I/O790222 -Ref: Two-way I/O-Footnote-1795167 -Ref: Two-way I/O-Footnote-2795353 -Node: TCP/IP Networking795435 -Node: Profiling798308 -Node: Advanced Features Summary805855 -Node: Internationalization807788 -Node: I18N and L10N809268 -Node: Explaining gettext809954 -Ref: Explaining gettext-Footnote-1814979 -Ref: Explaining gettext-Footnote-2815163 -Node: Programmer i18n815328 -Ref: Programmer i18n-Footnote-1820194 -Node: Translator i18n820243 -Node: String Extraction821037 -Ref: String Extraction-Footnote-1822168 -Node: Printf Ordering822254 -Ref: Printf Ordering-Footnote-1825040 -Node: I18N Portability825104 -Ref: I18N Portability-Footnote-1827559 -Node: I18N Example827622 -Ref: I18N Example-Footnote-1830425 -Node: Gawk I18N830497 -Node: I18N Summary831135 -Node: Debugger832474 -Node: Debugging833496 -Node: Debugging Concepts833937 -Node: Debugging Terms835790 -Node: Awk Debugging838362 -Node: Sample Debugging Session839256 -Node: Debugger Invocation839776 -Node: Finding The Bug841160 -Node: List of Debugger Commands847635 -Node: Breakpoint Control848968 -Node: Debugger Execution Control852664 -Node: Viewing And Changing Data856028 -Node: Execution Stack859406 -Node: Debugger Info861043 -Node: Miscellaneous Debugger Commands865060 -Node: Readline Support870089 -Node: Limitations870981 -Node: Debugging Summary873095 -Node: Arbitrary Precision Arithmetic874263 -Node: Computer Arithmetic875679 -Ref: table-numeric-ranges879277 -Ref: Computer Arithmetic-Footnote-1880136 -Node: Math Definitions880193 -Ref: table-ieee-formats883481 -Ref: Math Definitions-Footnote-1884085 -Node: MPFR features884190 -Node: FP Math Caution885861 -Ref: FP Math Caution-Footnote-1886911 -Node: Inexactness of computations887280 -Node: Inexact representation888239 -Node: Comparing FP Values889596 -Node: Errors accumulate890678 -Node: Getting Accuracy892111 -Node: Try To Round894773 -Node: Setting precision895672 -Ref: table-predefined-precision-strings896356 -Node: Setting the rounding mode898145 -Ref: table-gawk-rounding-modes898509 -Ref: Setting the rounding mode-Footnote-1901964 -Node: Arbitrary Precision Integers902143 -Ref: Arbitrary Precision Integers-Footnote-1905129 -Node: POSIX Floating Point Problems905278 -Ref: POSIX Floating Point Problems-Footnote-1909151 -Node: Floating point summary909189 -Node: Dynamic Extensions911383 -Node: Extension Intro912935 -Node: Plugin License914201 -Node: Extension Mechanism Outline914998 -Ref: figure-load-extension915426 -Ref: figure-register-new-function916906 -Ref: figure-call-new-function917910 -Node: Extension API Description919896 -Node: Extension API Functions Introduction921346 -Node: General Data Types926170 -Ref: General Data Types-Footnote-1931909 -Node: Memory Allocation Functions932208 -Ref: Memory Allocation Functions-Footnote-1935047 -Node: Constructor Functions935143 -Node: Registration Functions936877 -Node: Extension Functions937562 -Node: Exit Callback Functions939859 -Node: Extension Version String941107 -Node: Input Parsers941772 -Node: Output Wrappers951651 -Node: Two-way processors956166 -Node: Printing Messages958370 -Ref: Printing Messages-Footnote-1959446 -Node: Updating `ERRNO'959598 -Node: Requesting Values960338 -Ref: table-value-types-returned961066 -Node: Accessing Parameters962023 -Node: Symbol Table Access963254 -Node: Symbol table by name963768 -Node: Symbol table by cookie965749 -Ref: Symbol table by cookie-Footnote-1969893 -Node: Cached values969956 -Ref: Cached values-Footnote-1973455 -Node: Array Manipulation973546 -Ref: Array Manipulation-Footnote-1974644 -Node: Array Data Types974681 -Ref: Array Data Types-Footnote-1977336 -Node: Array Functions977428 -Node: Flattening Arrays981282 -Node: Creating Arrays988174 -Node: Extension API Variables992945 -Node: Extension Versioning993581 -Node: Extension API Informational Variables995482 -Node: Extension API Boilerplate996547 -Node: Finding Extensions1000356 -Node: Extension Example1000916 -Node: Internal File Description1001688 -Node: Internal File Ops1005755 -Ref: Internal File Ops-Footnote-11017425 -Node: Using Internal File Ops1017565 -Ref: Using Internal File Ops-Footnote-11019948 -Node: Extension Samples1020221 -Node: Extension Sample File Functions1021747 -Node: Extension Sample Fnmatch1029385 -Node: Extension Sample Fork1030876 -Node: Extension Sample Inplace1032091 -Node: Extension Sample Ord1033766 -Node: Extension Sample Readdir1034602 -Ref: table-readdir-file-types1035478 -Node: Extension Sample Revout1036289 -Node: Extension Sample Rev2way1036879 -Node: Extension Sample Read write array1037619 -Node: Extension Sample Readfile1039559 -Node: Extension Sample Time1040654 -Node: Extension Sample API Tests1042003 -Node: gawkextlib1042494 -Node: Extension summary1045152 -Node: Extension Exercises1048841 -Node: Language History1049563 -Node: V7/SVR3.11051219 -Node: SVR41053400 -Node: POSIX1054845 -Node: BTL1056234 -Node: POSIX/GNU1056968 -Node: Feature History1062532 -Node: Common Extensions1075630 -Node: Ranges and Locales1076954 -Ref: Ranges and Locales-Footnote-11081572 -Ref: Ranges and Locales-Footnote-21081599 -Ref: Ranges and Locales-Footnote-31081833 -Node: Contributors1082054 -Node: History summary1087595 -Node: Installation1088965 -Node: Gawk Distribution1089911 -Node: Getting1090395 -Node: Extracting1091218 -Node: Distribution contents1092853 -Node: Unix Installation1098570 -Node: Quick Installation1099187 -Node: Additional Configuration Options1101611 -Node: Configuration Philosophy1103349 -Node: Non-Unix Installation1105718 -Node: PC Installation1106176 -Node: PC Binary Installation1107495 -Node: PC Compiling1109343 -Ref: PC Compiling-Footnote-11112364 -Node: PC Testing1112473 -Node: PC Using1113649 -Node: Cygwin1117764 -Node: MSYS1118587 -Node: VMS Installation1119087 -Node: VMS Compilation1119879 -Ref: VMS Compilation-Footnote-11121101 -Node: VMS Dynamic Extensions1121159 -Node: VMS Installation Details1122843 -Node: VMS Running1125095 -Node: VMS GNV1127931 -Node: VMS Old Gawk1128665 -Node: Bugs1129135 -Node: Other Versions1133018 -Node: Installation summary1139446 -Node: Notes1140502 -Node: Compatibility Mode1141367 -Node: Additions1142149 -Node: Accessing The Source1143074 -Node: Adding Code1144510 -Node: New Ports1150675 -Node: Derived Files1155157 -Ref: Derived Files-Footnote-11160632 -Ref: Derived Files-Footnote-21160666 -Ref: Derived Files-Footnote-31161262 -Node: Future Extensions1161376 -Node: Implementation Limitations1161982 -Node: Extension Design1163230 -Node: Old Extension Problems1164384 -Ref: Old Extension Problems-Footnote-11165901 -Node: Extension New Mechanism Goals1165958 -Ref: Extension New Mechanism Goals-Footnote-11169318 -Node: Extension Other Design Decisions1169507 -Node: Extension Future Growth1171615 -Node: Old Extension Mechanism1172451 -Node: Notes summary1174213 -Node: Basic Concepts1175399 -Node: Basic High Level1176080 -Ref: figure-general-flow1176352 -Ref: figure-process-flow1176951 -Ref: Basic High Level-Footnote-11180180 -Node: Basic Data Typing1180365 -Node: Glossary1183693 -Node: Copying1208851 -Node: GNU Free Documentation License1246407 -Node: Index1271543 +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 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 3e6fb5d6..a7df2315 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -1269,6 +1269,9 @@ the C/C++ module as a dynamic plug-in. 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 think you will too. + @ifnotdocbook @cindex Brennan, Michael @display diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 61575e42..73471b6d 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -1264,6 +1264,9 @@ the C/C++ module as a dynamic plug-in. 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 think you will too. + @ifnotdocbook @cindex Brennan, Michael @display |