diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1161 |
1 files changed, 581 insertions, 580 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index f0a9d84d..ba5dbdf5 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. @@ -750,10 +750,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 @@ -777,16 +777,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. @@ -795,9 +795,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 @@ -836,7 +836,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 @@ -928,7 +928,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 @@ -940,10 +940,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 @@ -956,7 +956,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: @@ -1016,9 +1016,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'. @@ -1049,9 +1049,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. @@ -34572,561 +34573,561 @@ Index Tag Table: Node: Top1204 Node: Foreword342385 -Node: Foreword446827 -Node: Preface48349 -Ref: Preface-Footnote-151220 -Ref: Preface-Footnote-251327 -Ref: Preface-Footnote-351560 -Node: History51702 -Node: Names54048 -Ref: Names-Footnote-155142 -Node: This Manual55288 -Ref: This Manual-Footnote-161775 -Node: Conventions61875 -Node: Manual History64213 -Ref: Manual History-Footnote-167195 -Ref: Manual History-Footnote-267236 -Node: How To Contribute67310 -Node: Acknowledgments68439 -Node: Getting Started73244 -Node: Running gawk75677 -Node: One-shot76867 -Node: Read Terminal78115 -Node: Long80142 -Node: Executable Scripts81658 -Ref: Executable Scripts-Footnote-184447 -Node: Comments84550 -Node: Quoting87032 -Node: DOS Quoting92556 -Node: Sample Data Files93231 -Node: Very Simple95826 -Node: Two Rules100724 -Node: More Complex102610 -Node: Statements/Lines105472 -Ref: Statements/Lines-Footnote-1109927 -Node: Other Features110192 -Node: When111123 -Ref: When-Footnote-1112877 -Node: Intro Summary112942 -Node: Invoking Gawk113825 -Node: Command Line115339 -Node: Options116137 -Ref: Options-Footnote-1131941 -Ref: Options-Footnote-2132170 -Node: Other Arguments132195 -Node: Naming Standard Input135143 -Node: Environment Variables136236 -Node: AWKPATH Variable136794 -Ref: AWKPATH Variable-Footnote-1140207 -Ref: AWKPATH Variable-Footnote-2140252 -Node: AWKLIBPATH Variable140512 -Node: Other Environment Variables141768 -Node: Exit Status145256 -Node: Include Files145932 -Node: Loading Shared Libraries149529 -Node: Obsolete150956 -Node: Undocumented151653 -Node: Invoking Summary151920 -Node: Regexp153584 -Node: Regexp Usage155038 -Node: Escape Sequences157075 -Node: Regexp Operators163316 -Ref: Regexp Operators-Footnote-1170742 -Ref: Regexp Operators-Footnote-2170889 -Node: Bracket Expressions170987 -Ref: table-char-classes173002 -Node: Leftmost Longest175926 -Node: Computed Regexps177228 -Node: GNU Regexp Operators180625 -Node: Case-sensitivity184298 -Ref: Case-sensitivity-Footnote-1187183 -Ref: Case-sensitivity-Footnote-2187418 -Node: Regexp Summary187526 -Node: Reading Files188993 -Node: Records191156 -Node: awk split records191889 -Node: gawk split records196804 -Ref: gawk split records-Footnote-1201348 -Node: Fields201385 -Ref: Fields-Footnote-1204161 -Node: Nonconstant Fields204247 -Ref: Nonconstant Fields-Footnote-1206490 -Node: Changing Fields206694 -Node: Field Separators212623 -Node: Default Field Splitting215328 -Node: Regexp Field Splitting216445 -Node: Single Character Fields219795 -Node: Command Line Field Separator220854 -Node: Full Line Fields224066 -Ref: Full Line Fields-Footnote-1225583 -Ref: Full Line Fields-Footnote-2225629 -Node: Field Splitting Summary225730 -Node: Constant Size227804 -Node: Splitting By Content232393 -Ref: Splitting By Content-Footnote-1236387 -Node: Multiple Line236550 -Ref: Multiple Line-Footnote-1242436 -Node: Getline242615 -Node: Plain Getline245099 -Node: Getline/Variable247739 -Node: Getline/File248887 -Node: Getline/Variable/File250271 -Ref: Getline/Variable/File-Footnote-1251874 -Node: Getline/Pipe251961 -Node: Getline/Variable/Pipe254644 -Node: Getline/Coprocess255775 -Node: Getline/Variable/Coprocess257027 -Node: Getline Notes257766 -Node: Getline Summary260558 -Ref: table-getline-variants260970 -Node: Read Timeout261799 -Ref: Read Timeout-Footnote-1265690 -Node: Retrying Input265748 -Node: Command-line directories266943 -Node: Input Summary267850 -Node: Input Exercises271151 -Node: Printing271879 -Node: Print273656 -Node: Print Examples275113 -Node: Output Separators277892 -Node: OFMT279910 -Node: Printf281264 -Node: Basic Printf282049 -Node: Control Letters283619 -Node: Format Modifiers287602 -Node: Printf Examples293611 -Node: Redirection296097 -Node: Special FD302938 -Ref: Special FD-Footnote-1306098 -Node: Special Files306172 -Node: Other Inherited Files306789 -Node: Special Network307789 -Node: Special Caveats308651 -Node: Close Files And Pipes309602 -Ref: Close Files And Pipes-Footnote-1316784 -Ref: Close Files And Pipes-Footnote-2316932 -Node: Output Summary317082 -Node: Output Exercises318080 -Node: Expressions318760 -Node: Values319945 -Node: Constants320623 -Node: Scalar Constants321314 -Ref: Scalar Constants-Footnote-1322173 -Node: Nondecimal-numbers322423 -Node: Regexp Constants325441 -Node: Using Constant Regexps325966 -Node: Variables329109 -Node: Using Variables329764 -Node: Assignment Options331675 -Node: Conversion333550 -Node: Strings And Numbers334074 -Ref: Strings And Numbers-Footnote-1337139 -Node: Locale influences conversions337248 -Ref: table-locale-affects339995 -Node: All Operators340583 -Node: Arithmetic Ops341213 -Node: Concatenation343718 -Ref: Concatenation-Footnote-1346537 -Node: Assignment Ops346643 -Ref: table-assign-ops351622 -Node: Increment Ops352894 -Node: Truth Values and Conditions356332 -Node: Truth Values357417 -Node: Typing and Comparison358466 -Node: Variable Typing359276 -Node: Comparison Operators362929 -Ref: table-relational-ops363339 -Node: POSIX String Comparison366834 -Ref: POSIX String Comparison-Footnote-1367906 -Node: Boolean Ops368044 -Ref: Boolean Ops-Footnote-1372523 -Node: Conditional Exp372614 -Node: Function Calls374341 -Node: Precedence378221 -Node: Locales381882 -Node: Expressions Summary383514 -Node: Patterns and Actions386074 -Node: Pattern Overview387194 -Node: Regexp Patterns388873 -Node: Expression Patterns389416 -Node: Ranges393126 -Node: BEGIN/END396232 -Node: Using BEGIN/END396993 -Ref: Using BEGIN/END-Footnote-1399727 -Node: I/O And BEGIN/END399833 -Node: BEGINFILE/ENDFILE402147 -Node: Empty405048 -Node: Using Shell Variables405365 -Node: Action Overview407638 -Node: Statements409964 -Node: If Statement411812 -Node: While Statement413307 -Node: Do Statement415336 -Node: For Statement416480 -Node: Switch Statement419637 -Node: Break Statement422019 -Node: Continue Statement424060 -Node: Next Statement425887 -Node: Nextfile Statement428268 -Node: Exit Statement430898 -Node: Built-in Variables433301 -Node: User-modified434434 -Ref: User-modified-Footnote-1442115 -Node: Auto-set442177 -Ref: Auto-set-Footnote-1456393 -Ref: Auto-set-Footnote-2456598 -Node: ARGC and ARGV456654 -Node: Pattern Action Summary460872 -Node: Arrays463299 -Node: Array Basics464628 -Node: Array Intro465472 -Ref: figure-array-elements467436 -Ref: Array Intro-Footnote-1469962 -Node: Reference to Elements470090 -Node: Assigning Elements472542 -Node: Array Example473033 -Node: Scanning an Array474791 -Node: Controlling Scanning477807 -Ref: Controlling Scanning-Footnote-1483003 -Node: Numeric Array Subscripts483319 -Node: Uninitialized Subscripts485504 -Node: Delete487121 -Ref: Delete-Footnote-1489864 -Node: Multidimensional489921 -Node: Multiscanning493018 -Node: Arrays of Arrays494607 -Node: Arrays Summary499366 -Node: Functions501458 -Node: Built-in502357 -Node: Calling Built-in503435 -Node: Numeric Functions505426 -Ref: Numeric Functions-Footnote-1510245 -Ref: Numeric Functions-Footnote-2510602 -Ref: Numeric Functions-Footnote-3510650 -Node: String Functions510922 -Ref: String Functions-Footnote-1534397 -Ref: String Functions-Footnote-2534526 -Ref: String Functions-Footnote-3534774 -Node: Gory Details534861 -Ref: table-sub-escapes536642 -Ref: table-sub-proposed538162 -Ref: table-posix-sub539526 -Ref: table-gensub-escapes541062 -Ref: Gory Details-Footnote-1541894 -Node: I/O Functions542045 -Ref: I/O Functions-Footnote-1549263 -Node: Time Functions549410 -Ref: Time Functions-Footnote-1559898 -Ref: Time Functions-Footnote-2559966 -Ref: Time Functions-Footnote-3560124 -Ref: Time Functions-Footnote-4560235 -Ref: Time Functions-Footnote-5560347 -Ref: Time Functions-Footnote-6560574 -Node: Bitwise Functions560840 -Ref: table-bitwise-ops561402 -Ref: Bitwise Functions-Footnote-1565711 -Node: Type Functions565880 -Node: I18N Functions567031 -Node: User-defined568676 -Node: Definition Syntax569481 -Ref: Definition Syntax-Footnote-1574888 -Node: Function Example574959 -Ref: Function Example-Footnote-1577878 -Node: Function Caveats577900 -Node: Calling A Function578418 -Node: Variable Scope579376 -Node: Pass By Value/Reference582364 -Node: Return Statement585859 -Node: Dynamic Typing588840 -Node: Indirect Calls589769 -Ref: Indirect Calls-Footnote-1601071 -Node: Functions Summary601199 -Node: Library Functions603901 -Ref: Library Functions-Footnote-1607510 -Ref: Library Functions-Footnote-2607653 -Node: Library Names607824 -Ref: Library Names-Footnote-1611278 -Ref: Library Names-Footnote-2611501 -Node: General Functions611587 -Node: Strtonum Function612690 -Node: Assert Function615712 -Node: Round Function619036 -Node: Cliff Random Function620577 -Node: Ordinal Functions621593 -Ref: Ordinal Functions-Footnote-1624656 -Ref: Ordinal Functions-Footnote-2624908 -Node: Join Function625119 -Ref: Join Function-Footnote-1626888 -Node: Getlocaltime Function627088 -Node: Readfile Function630832 -Node: Shell Quoting632802 -Node: Data File Management634203 -Node: Filetrans Function634835 -Node: Rewind Function638891 -Node: File Checking640278 -Ref: File Checking-Footnote-1641610 -Node: Empty Files641811 -Node: Ignoring Assigns643790 -Node: Getopt Function645341 -Ref: Getopt Function-Footnote-1656803 -Node: Passwd Functions657003 -Ref: Passwd Functions-Footnote-1665840 -Node: Group Functions665928 -Ref: Group Functions-Footnote-1673822 -Node: Walking Arrays674035 -Node: Library Functions Summary675638 -Node: Library Exercises677039 -Node: Sample Programs678319 -Node: Running Examples679089 -Node: Clones679817 -Node: Cut Program681041 -Node: Egrep Program690760 -Ref: Egrep Program-Footnote-1698258 -Node: Id Program698368 -Node: Split Program702013 -Ref: Split Program-Footnote-1705461 -Node: Tee Program705589 -Node: Uniq Program708378 -Node: Wc Program715797 -Ref: Wc Program-Footnote-1720047 -Node: Miscellaneous Programs720141 -Node: Dupword Program721354 -Node: Alarm Program723385 -Node: Translate Program728189 -Ref: Translate Program-Footnote-1732754 -Node: Labels Program733024 -Ref: Labels Program-Footnote-1736375 -Node: Word Sorting736459 -Node: History Sorting740530 -Node: Extract Program742366 -Node: Simple Sed749891 -Node: Igawk Program752959 -Ref: Igawk Program-Footnote-1767283 -Ref: Igawk Program-Footnote-2767484 -Ref: Igawk Program-Footnote-3767606 -Node: Anagram Program767721 -Node: Signature Program770778 -Node: Programs Summary772025 -Node: Programs Exercises773218 -Ref: Programs Exercises-Footnote-1777349 -Node: Advanced Features777440 -Node: Nondecimal Data779388 -Node: Array Sorting780978 -Node: Controlling Array Traversal781675 -Ref: Controlling Array Traversal-Footnote-1790008 -Node: Array Sorting Functions790126 -Ref: Array Sorting Functions-Footnote-1794015 -Node: Two-way I/O794211 -Ref: Two-way I/O-Footnote-1799156 -Ref: Two-way I/O-Footnote-2799342 -Node: TCP/IP Networking799424 -Node: Profiling802297 -Node: Advanced Features Summary810574 -Node: Internationalization812507 -Node: I18N and L10N813987 -Node: Explaining gettext814673 -Ref: Explaining gettext-Footnote-1819698 -Ref: Explaining gettext-Footnote-2819882 -Node: Programmer i18n820047 -Ref: Programmer i18n-Footnote-1824913 -Node: Translator i18n824962 -Node: String Extraction825756 -Ref: String Extraction-Footnote-1826887 -Node: Printf Ordering826973 -Ref: Printf Ordering-Footnote-1829759 -Node: I18N Portability829823 -Ref: I18N Portability-Footnote-1832278 -Node: I18N Example832341 -Ref: I18N Example-Footnote-1835144 -Node: Gawk I18N835216 -Node: I18N Summary835854 -Node: Debugger837193 -Node: Debugging838215 -Node: Debugging Concepts838656 -Node: Debugging Terms840509 -Node: Awk Debugging843081 -Node: Sample Debugging Session843975 -Node: Debugger Invocation844495 -Node: Finding The Bug845879 -Node: List of Debugger Commands852354 -Node: Breakpoint Control853687 -Node: Debugger Execution Control857383 -Node: Viewing And Changing Data860747 -Node: Execution Stack864125 -Node: Debugger Info865762 -Node: Miscellaneous Debugger Commands869779 -Node: Readline Support874808 -Node: Limitations875700 -Node: Debugging Summary877814 -Node: Arbitrary Precision Arithmetic878982 -Node: Computer Arithmetic880398 -Ref: table-numeric-ranges883996 -Ref: Computer Arithmetic-Footnote-1884855 -Node: Math Definitions884912 -Ref: table-ieee-formats888200 -Ref: Math Definitions-Footnote-1888804 -Node: MPFR features888909 -Node: FP Math Caution890580 -Ref: FP Math Caution-Footnote-1891630 -Node: Inexactness of computations891999 -Node: Inexact representation892958 -Node: Comparing FP Values894315 -Node: Errors accumulate895397 -Node: Getting Accuracy896830 -Node: Try To Round899492 -Node: Setting precision900391 -Ref: table-predefined-precision-strings901075 -Node: Setting the rounding mode902864 -Ref: table-gawk-rounding-modes903228 -Ref: Setting the rounding mode-Footnote-1906683 -Node: Arbitrary Precision Integers906862 -Ref: Arbitrary Precision Integers-Footnote-1911761 -Node: POSIX Floating Point Problems911910 -Ref: POSIX Floating Point Problems-Footnote-1915783 -Node: Floating point summary915821 -Node: Dynamic Extensions918015 -Node: Extension Intro919567 -Node: Plugin License920833 -Node: Extension Mechanism Outline921630 -Ref: figure-load-extension922058 -Ref: figure-register-new-function923538 -Ref: figure-call-new-function924542 -Node: Extension API Description926528 -Node: Extension API Functions Introduction928062 -Node: General Data Types932934 -Ref: General Data Types-Footnote-1938673 -Node: Memory Allocation Functions938972 -Ref: Memory Allocation Functions-Footnote-1941811 -Node: Constructor Functions941907 -Node: Registration Functions943641 -Node: Extension Functions944326 -Node: Exit Callback Functions946623 -Node: Extension Version String947871 -Node: Input Parsers948536 -Node: Output Wrappers958415 -Node: Two-way processors962930 -Node: Printing Messages965134 -Ref: Printing Messages-Footnote-1966210 -Node: Updating `ERRNO'966362 -Node: Requesting Values967102 -Ref: table-value-types-returned967830 -Node: Accessing Parameters968787 -Node: Symbol Table Access970018 -Node: Symbol table by name970532 -Node: Symbol table by cookie972513 -Ref: Symbol table by cookie-Footnote-1976657 -Node: Cached values976720 -Ref: Cached values-Footnote-1980219 -Node: Array Manipulation980310 -Ref: Array Manipulation-Footnote-1981400 -Node: Array Data Types981437 -Ref: Array Data Types-Footnote-1984092 -Node: Array Functions984184 -Node: Flattening Arrays988038 -Node: Creating Arrays994930 -Node: Redirection API999701 -Node: Extension API Variables1002472 -Node: Extension Versioning1003105 -Node: Extension API Informational Variables1005006 -Node: Extension API Boilerplate1006071 -Node: Finding Extensions1009880 -Node: Extension Example1010440 -Node: Internal File Description1011212 -Node: Internal File Ops1015279 -Ref: Internal File Ops-Footnote-11026949 -Node: Using Internal File Ops1027089 -Ref: Using Internal File Ops-Footnote-11029472 -Node: Extension Samples1029745 -Node: Extension Sample File Functions1031271 -Node: Extension Sample Fnmatch1038909 -Node: Extension Sample Fork1040400 -Node: Extension Sample Inplace1041615 -Node: Extension Sample Ord1043290 -Node: Extension Sample Readdir1044126 -Ref: table-readdir-file-types1045002 -Node: Extension Sample Revout1045813 -Node: Extension Sample Rev2way1046403 -Node: Extension Sample Read write array1047143 -Node: Extension Sample Readfile1049083 -Node: Extension Sample Time1050178 -Node: Extension Sample API Tests1051527 -Node: gawkextlib1052018 -Node: Extension summary1054676 -Node: Extension Exercises1058365 -Node: Language History1059087 -Node: V7/SVR3.11060743 -Node: SVR41062924 -Node: POSIX1064369 -Node: BTL1065758 -Node: POSIX/GNU1066492 -Node: Feature History1072116 -Node: Common Extensions1085214 -Node: Ranges and Locales1086538 -Ref: Ranges and Locales-Footnote-11091156 -Ref: Ranges and Locales-Footnote-21091183 -Ref: Ranges and Locales-Footnote-31091417 -Node: Contributors1091638 -Node: History summary1097179 -Node: Installation1098549 -Node: Gawk Distribution1099495 -Node: Getting1099979 -Node: Extracting1100802 -Node: Distribution contents1102437 -Node: Unix Installation1108502 -Node: Quick Installation1109185 -Node: Shell Startup Files1111596 -Node: Additional Configuration Options1112675 -Node: Configuration Philosophy1114414 -Node: Non-Unix Installation1116783 -Node: PC Installation1117241 -Node: PC Binary Installation1118560 -Node: PC Compiling1120408 -Ref: PC Compiling-Footnote-11123429 -Node: PC Testing1123538 -Node: PC Using1124714 -Node: Cygwin1128829 -Node: MSYS1129652 -Node: VMS Installation1130152 -Node: VMS Compilation1130944 -Ref: VMS Compilation-Footnote-11132166 -Node: VMS Dynamic Extensions1132224 -Node: VMS Installation Details1133908 -Node: VMS Running1136160 -Node: VMS GNV1138996 -Node: VMS Old Gawk1139730 -Node: Bugs1140200 -Node: Other Versions1144083 -Node: Installation summary1150511 -Node: Notes1151567 -Node: Compatibility Mode1152432 -Node: Additions1153214 -Node: Accessing The Source1154139 -Node: Adding Code1155575 -Node: New Ports1161740 -Node: Derived Files1166222 -Ref: Derived Files-Footnote-11171697 -Ref: Derived Files-Footnote-21171731 -Ref: Derived Files-Footnote-31172327 -Node: Future Extensions1172441 -Node: Implementation Limitations1173047 -Node: Extension Design1174295 -Node: Old Extension Problems1175449 -Ref: Old Extension Problems-Footnote-11176966 -Node: Extension New Mechanism Goals1177023 -Ref: Extension New Mechanism Goals-Footnote-11180383 -Node: Extension Other Design Decisions1180572 -Node: Extension Future Growth1182680 -Node: Old Extension Mechanism1183516 -Node: Notes summary1185278 -Node: Basic Concepts1186464 -Node: Basic High Level1187145 -Ref: figure-general-flow1187417 -Ref: figure-process-flow1188016 -Ref: Basic High Level-Footnote-11191245 -Node: Basic Data Typing1191430 -Node: Glossary1194758 -Node: Copying1219916 -Node: GNU Free Documentation License1257472 -Node: Index1282608 +Node: Foreword446829 +Node: Preface48360 +Ref: Preface-Footnote-151231 +Ref: Preface-Footnote-251338 +Ref: Preface-Footnote-351571 +Node: History51713 +Node: Names54064 +Ref: Names-Footnote-155157 +Node: This Manual55303 +Ref: This Manual-Footnote-161808 +Node: Conventions61908 +Node: Manual History64246 +Ref: Manual History-Footnote-167228 +Ref: Manual History-Footnote-267269 +Node: How To Contribute67343 +Node: Acknowledgments68472 +Node: Getting Started73277 +Node: Running gawk75710 +Node: One-shot76900 +Node: Read Terminal78148 +Node: Long80175 +Node: Executable Scripts81691 +Ref: Executable Scripts-Footnote-184480 +Node: Comments84583 +Node: Quoting87065 +Node: DOS Quoting92589 +Node: Sample Data Files93264 +Node: Very Simple95859 +Node: Two Rules100757 +Node: More Complex102643 +Node: Statements/Lines105505 +Ref: Statements/Lines-Footnote-1109960 +Node: Other Features110225 +Node: When111156 +Ref: When-Footnote-1112910 +Node: Intro Summary112975 +Node: Invoking Gawk113858 +Node: Command Line115372 +Node: Options116170 +Ref: Options-Footnote-1131974 +Ref: Options-Footnote-2132203 +Node: Other Arguments132228 +Node: Naming Standard Input135176 +Node: Environment Variables136269 +Node: AWKPATH Variable136827 +Ref: AWKPATH Variable-Footnote-1140240 +Ref: AWKPATH Variable-Footnote-2140285 +Node: AWKLIBPATH Variable140545 +Node: Other Environment Variables141801 +Node: Exit Status145289 +Node: Include Files145965 +Node: Loading Shared Libraries149562 +Node: Obsolete150989 +Node: Undocumented151686 +Node: Invoking Summary151953 +Node: Regexp153617 +Node: Regexp Usage155071 +Node: Escape Sequences157108 +Node: Regexp Operators163349 +Ref: Regexp Operators-Footnote-1170775 +Ref: Regexp Operators-Footnote-2170922 +Node: Bracket Expressions171020 +Ref: table-char-classes173035 +Node: Leftmost Longest175959 +Node: Computed Regexps177261 +Node: GNU Regexp Operators180658 +Node: Case-sensitivity184331 +Ref: Case-sensitivity-Footnote-1187216 +Ref: Case-sensitivity-Footnote-2187451 +Node: Regexp Summary187559 +Node: Reading Files189026 +Node: Records191189 +Node: awk split records191922 +Node: gawk split records196837 +Ref: gawk split records-Footnote-1201381 +Node: Fields201418 +Ref: Fields-Footnote-1204194 +Node: Nonconstant Fields204280 +Ref: Nonconstant Fields-Footnote-1206523 +Node: Changing Fields206727 +Node: Field Separators212656 +Node: Default Field Splitting215361 +Node: Regexp Field Splitting216478 +Node: Single Character Fields219828 +Node: Command Line Field Separator220887 +Node: Full Line Fields224099 +Ref: Full Line Fields-Footnote-1225616 +Ref: Full Line Fields-Footnote-2225662 +Node: Field Splitting Summary225763 +Node: Constant Size227837 +Node: Splitting By Content232426 +Ref: Splitting By Content-Footnote-1236420 +Node: Multiple Line236583 +Ref: Multiple Line-Footnote-1242469 +Node: Getline242648 +Node: Plain Getline245132 +Node: Getline/Variable247772 +Node: Getline/File248920 +Node: Getline/Variable/File250304 +Ref: Getline/Variable/File-Footnote-1251907 +Node: Getline/Pipe251994 +Node: Getline/Variable/Pipe254677 +Node: Getline/Coprocess255808 +Node: Getline/Variable/Coprocess257060 +Node: Getline Notes257799 +Node: Getline Summary260591 +Ref: table-getline-variants261003 +Node: Read Timeout261832 +Ref: Read Timeout-Footnote-1265723 +Node: Retrying Input265781 +Node: Command-line directories266976 +Node: Input Summary267883 +Node: Input Exercises271184 +Node: Printing271912 +Node: Print273689 +Node: Print Examples275146 +Node: Output Separators277925 +Node: OFMT279943 +Node: Printf281297 +Node: Basic Printf282082 +Node: Control Letters283652 +Node: Format Modifiers287635 +Node: Printf Examples293644 +Node: Redirection296130 +Node: Special FD302971 +Ref: Special FD-Footnote-1306131 +Node: Special Files306205 +Node: Other Inherited Files306822 +Node: Special Network307822 +Node: Special Caveats308684 +Node: Close Files And Pipes309635 +Ref: Close Files And Pipes-Footnote-1316817 +Ref: Close Files And Pipes-Footnote-2316965 +Node: Output Summary317115 +Node: Output Exercises318113 +Node: Expressions318793 +Node: Values319978 +Node: Constants320656 +Node: Scalar Constants321347 +Ref: Scalar Constants-Footnote-1322206 +Node: Nondecimal-numbers322456 +Node: Regexp Constants325474 +Node: Using Constant Regexps325999 +Node: Variables329142 +Node: Using Variables329797 +Node: Assignment Options331708 +Node: Conversion333583 +Node: Strings And Numbers334107 +Ref: Strings And Numbers-Footnote-1337172 +Node: Locale influences conversions337281 +Ref: table-locale-affects340028 +Node: All Operators340616 +Node: Arithmetic Ops341246 +Node: Concatenation343751 +Ref: Concatenation-Footnote-1346570 +Node: Assignment Ops346676 +Ref: table-assign-ops351655 +Node: Increment Ops352927 +Node: Truth Values and Conditions356365 +Node: Truth Values357450 +Node: Typing and Comparison358499 +Node: Variable Typing359309 +Node: Comparison Operators362962 +Ref: table-relational-ops363372 +Node: POSIX String Comparison366867 +Ref: POSIX String Comparison-Footnote-1367939 +Node: Boolean Ops368077 +Ref: Boolean Ops-Footnote-1372556 +Node: Conditional Exp372647 +Node: Function Calls374374 +Node: Precedence378254 +Node: Locales381915 +Node: Expressions Summary383547 +Node: Patterns and Actions386107 +Node: Pattern Overview387227 +Node: Regexp Patterns388906 +Node: Expression Patterns389449 +Node: Ranges393159 +Node: BEGIN/END396265 +Node: Using BEGIN/END397026 +Ref: Using BEGIN/END-Footnote-1399760 +Node: I/O And BEGIN/END399866 +Node: BEGINFILE/ENDFILE402180 +Node: Empty405081 +Node: Using Shell Variables405398 +Node: Action Overview407671 +Node: Statements409997 +Node: If Statement411845 +Node: While Statement413340 +Node: Do Statement415369 +Node: For Statement416513 +Node: Switch Statement419670 +Node: Break Statement422052 +Node: Continue Statement424093 +Node: Next Statement425920 +Node: Nextfile Statement428301 +Node: Exit Statement430931 +Node: Built-in Variables433334 +Node: User-modified434467 +Ref: User-modified-Footnote-1442148 +Node: Auto-set442210 +Ref: Auto-set-Footnote-1456426 +Ref: Auto-set-Footnote-2456631 +Node: ARGC and ARGV456687 +Node: Pattern Action Summary460905 +Node: Arrays463332 +Node: Array Basics464661 +Node: Array Intro465505 +Ref: figure-array-elements467469 +Ref: Array Intro-Footnote-1469995 +Node: Reference to Elements470123 +Node: Assigning Elements472575 +Node: Array Example473066 +Node: Scanning an Array474824 +Node: Controlling Scanning477840 +Ref: Controlling Scanning-Footnote-1483036 +Node: Numeric Array Subscripts483352 +Node: Uninitialized Subscripts485537 +Node: Delete487154 +Ref: Delete-Footnote-1489897 +Node: Multidimensional489954 +Node: Multiscanning493051 +Node: Arrays of Arrays494640 +Node: Arrays Summary499399 +Node: Functions501491 +Node: Built-in502390 +Node: Calling Built-in503468 +Node: Numeric Functions505459 +Ref: Numeric Functions-Footnote-1510278 +Ref: Numeric Functions-Footnote-2510635 +Ref: Numeric Functions-Footnote-3510683 +Node: String Functions510955 +Ref: String Functions-Footnote-1534430 +Ref: String Functions-Footnote-2534559 +Ref: String Functions-Footnote-3534807 +Node: Gory Details534894 +Ref: table-sub-escapes536675 +Ref: table-sub-proposed538195 +Ref: table-posix-sub539559 +Ref: table-gensub-escapes541095 +Ref: Gory Details-Footnote-1541927 +Node: I/O Functions542078 +Ref: I/O Functions-Footnote-1549296 +Node: Time Functions549443 +Ref: Time Functions-Footnote-1559931 +Ref: Time Functions-Footnote-2559999 +Ref: Time Functions-Footnote-3560157 +Ref: Time Functions-Footnote-4560268 +Ref: Time Functions-Footnote-5560380 +Ref: Time Functions-Footnote-6560607 +Node: Bitwise Functions560873 +Ref: table-bitwise-ops561435 +Ref: Bitwise Functions-Footnote-1565744 +Node: Type Functions565913 +Node: I18N Functions567064 +Node: User-defined568709 +Node: Definition Syntax569514 +Ref: Definition Syntax-Footnote-1574921 +Node: Function Example574992 +Ref: Function Example-Footnote-1577911 +Node: Function Caveats577933 +Node: Calling A Function578451 +Node: Variable Scope579409 +Node: Pass By Value/Reference582397 +Node: Return Statement585892 +Node: Dynamic Typing588873 +Node: Indirect Calls589802 +Ref: Indirect Calls-Footnote-1601104 +Node: Functions Summary601232 +Node: Library Functions603934 +Ref: Library Functions-Footnote-1607543 +Ref: Library Functions-Footnote-2607686 +Node: Library Names607857 +Ref: Library Names-Footnote-1611311 +Ref: Library Names-Footnote-2611534 +Node: General Functions611620 +Node: Strtonum Function612723 +Node: Assert Function615745 +Node: Round Function619069 +Node: Cliff Random Function620610 +Node: Ordinal Functions621626 +Ref: Ordinal Functions-Footnote-1624689 +Ref: Ordinal Functions-Footnote-2624941 +Node: Join Function625152 +Ref: Join Function-Footnote-1626921 +Node: Getlocaltime Function627121 +Node: Readfile Function630865 +Node: Shell Quoting632835 +Node: Data File Management634236 +Node: Filetrans Function634868 +Node: Rewind Function638924 +Node: File Checking640311 +Ref: File Checking-Footnote-1641643 +Node: Empty Files641844 +Node: Ignoring Assigns643823 +Node: Getopt Function645374 +Ref: Getopt Function-Footnote-1656836 +Node: Passwd Functions657036 +Ref: Passwd Functions-Footnote-1665873 +Node: Group Functions665961 +Ref: Group Functions-Footnote-1673855 +Node: Walking Arrays674068 +Node: Library Functions Summary675671 +Node: Library Exercises677072 +Node: Sample Programs678352 +Node: Running Examples679122 +Node: Clones679850 +Node: Cut Program681074 +Node: Egrep Program690793 +Ref: Egrep Program-Footnote-1698291 +Node: Id Program698401 +Node: Split Program702046 +Ref: Split Program-Footnote-1705494 +Node: Tee Program705622 +Node: Uniq Program708411 +Node: Wc Program715830 +Ref: Wc Program-Footnote-1720080 +Node: Miscellaneous Programs720174 +Node: Dupword Program721387 +Node: Alarm Program723418 +Node: Translate Program728222 +Ref: Translate Program-Footnote-1732787 +Node: Labels Program733057 +Ref: Labels Program-Footnote-1736408 +Node: Word Sorting736492 +Node: History Sorting740563 +Node: Extract Program742399 +Node: Simple Sed749924 +Node: Igawk Program752992 +Ref: Igawk Program-Footnote-1767316 +Ref: Igawk Program-Footnote-2767517 +Ref: Igawk Program-Footnote-3767639 +Node: Anagram Program767754 +Node: Signature Program770811 +Node: Programs Summary772058 +Node: Programs Exercises773251 +Ref: Programs Exercises-Footnote-1777382 +Node: Advanced Features777473 +Node: Nondecimal Data779421 +Node: Array Sorting781011 +Node: Controlling Array Traversal781708 +Ref: Controlling Array Traversal-Footnote-1790041 +Node: Array Sorting Functions790159 +Ref: Array Sorting Functions-Footnote-1794048 +Node: Two-way I/O794244 +Ref: Two-way I/O-Footnote-1799189 +Ref: Two-way I/O-Footnote-2799375 +Node: TCP/IP Networking799457 +Node: Profiling802330 +Node: Advanced Features Summary810607 +Node: Internationalization812540 +Node: I18N and L10N814020 +Node: Explaining gettext814706 +Ref: Explaining gettext-Footnote-1819731 +Ref: Explaining gettext-Footnote-2819915 +Node: Programmer i18n820080 +Ref: Programmer i18n-Footnote-1824946 +Node: Translator i18n824995 +Node: String Extraction825789 +Ref: String Extraction-Footnote-1826920 +Node: Printf Ordering827006 +Ref: Printf Ordering-Footnote-1829792 +Node: I18N Portability829856 +Ref: I18N Portability-Footnote-1832311 +Node: I18N Example832374 +Ref: I18N Example-Footnote-1835177 +Node: Gawk I18N835249 +Node: I18N Summary835887 +Node: Debugger837226 +Node: Debugging838248 +Node: Debugging Concepts838689 +Node: Debugging Terms840542 +Node: Awk Debugging843114 +Node: Sample Debugging Session844008 +Node: Debugger Invocation844528 +Node: Finding The Bug845912 +Node: List of Debugger Commands852387 +Node: Breakpoint Control853720 +Node: Debugger Execution Control857416 +Node: Viewing And Changing Data860780 +Node: Execution Stack864158 +Node: Debugger Info865795 +Node: Miscellaneous Debugger Commands869812 +Node: Readline Support874841 +Node: Limitations875733 +Node: Debugging Summary877847 +Node: Arbitrary Precision Arithmetic879015 +Node: Computer Arithmetic880431 +Ref: table-numeric-ranges884029 +Ref: Computer Arithmetic-Footnote-1884888 +Node: Math Definitions884945 +Ref: table-ieee-formats888233 +Ref: Math Definitions-Footnote-1888837 +Node: MPFR features888942 +Node: FP Math Caution890613 +Ref: FP Math Caution-Footnote-1891663 +Node: Inexactness of computations892032 +Node: Inexact representation892991 +Node: Comparing FP Values894348 +Node: Errors accumulate895430 +Node: Getting Accuracy896863 +Node: Try To Round899525 +Node: Setting precision900424 +Ref: table-predefined-precision-strings901108 +Node: Setting the rounding mode902897 +Ref: table-gawk-rounding-modes903261 +Ref: Setting the rounding mode-Footnote-1906716 +Node: Arbitrary Precision Integers906895 +Ref: Arbitrary Precision Integers-Footnote-1911794 +Node: POSIX Floating Point Problems911943 +Ref: POSIX Floating Point Problems-Footnote-1915816 +Node: Floating point summary915854 +Node: Dynamic Extensions918048 +Node: Extension Intro919600 +Node: Plugin License920866 +Node: Extension Mechanism Outline921663 +Ref: figure-load-extension922091 +Ref: figure-register-new-function923571 +Ref: figure-call-new-function924575 +Node: Extension API Description926561 +Node: Extension API Functions Introduction928095 +Node: General Data Types932967 +Ref: General Data Types-Footnote-1938706 +Node: Memory Allocation Functions939005 +Ref: Memory Allocation Functions-Footnote-1941844 +Node: Constructor Functions941940 +Node: Registration Functions943674 +Node: Extension Functions944359 +Node: Exit Callback Functions946656 +Node: Extension Version String947904 +Node: Input Parsers948569 +Node: Output Wrappers958448 +Node: Two-way processors962963 +Node: Printing Messages965167 +Ref: Printing Messages-Footnote-1966243 +Node: Updating `ERRNO'966395 +Node: Requesting Values967135 +Ref: table-value-types-returned967863 +Node: Accessing Parameters968820 +Node: Symbol Table Access970051 +Node: Symbol table by name970565 +Node: Symbol table by cookie972546 +Ref: Symbol table by cookie-Footnote-1976690 +Node: Cached values976753 +Ref: Cached values-Footnote-1980252 +Node: Array Manipulation980343 +Ref: Array Manipulation-Footnote-1981433 +Node: Array Data Types981470 +Ref: Array Data Types-Footnote-1984125 +Node: Array Functions984217 +Node: Flattening Arrays988071 +Node: Creating Arrays994963 +Node: Redirection API999734 +Node: Extension API Variables1002505 +Node: Extension Versioning1003138 +Node: Extension API Informational Variables1005039 +Node: Extension API Boilerplate1006104 +Node: Finding Extensions1009913 +Node: Extension Example1010473 +Node: Internal File Description1011245 +Node: Internal File Ops1015312 +Ref: Internal File Ops-Footnote-11026982 +Node: Using Internal File Ops1027122 +Ref: Using Internal File Ops-Footnote-11029505 +Node: Extension Samples1029778 +Node: Extension Sample File Functions1031304 +Node: Extension Sample Fnmatch1038942 +Node: Extension Sample Fork1040433 +Node: Extension Sample Inplace1041648 +Node: Extension Sample Ord1043323 +Node: Extension Sample Readdir1044159 +Ref: table-readdir-file-types1045035 +Node: Extension Sample Revout1045846 +Node: Extension Sample Rev2way1046436 +Node: Extension Sample Read write array1047176 +Node: Extension Sample Readfile1049116 +Node: Extension Sample Time1050211 +Node: Extension Sample API Tests1051560 +Node: gawkextlib1052051 +Node: Extension summary1054709 +Node: Extension Exercises1058398 +Node: Language History1059120 +Node: V7/SVR3.11060776 +Node: SVR41062957 +Node: POSIX1064402 +Node: BTL1065791 +Node: POSIX/GNU1066525 +Node: Feature History1072149 +Node: Common Extensions1085247 +Node: Ranges and Locales1086571 +Ref: Ranges and Locales-Footnote-11091189 +Ref: Ranges and Locales-Footnote-21091216 +Ref: Ranges and Locales-Footnote-31091450 +Node: Contributors1091671 +Node: History summary1097212 +Node: Installation1098582 +Node: Gawk Distribution1099528 +Node: Getting1100012 +Node: Extracting1100835 +Node: Distribution contents1102470 +Node: Unix Installation1108535 +Node: Quick Installation1109218 +Node: Shell Startup Files1111629 +Node: Additional Configuration Options1112708 +Node: Configuration Philosophy1114447 +Node: Non-Unix Installation1116816 +Node: PC Installation1117274 +Node: PC Binary Installation1118593 +Node: PC Compiling1120441 +Ref: PC Compiling-Footnote-11123462 +Node: PC Testing1123571 +Node: PC Using1124747 +Node: Cygwin1128862 +Node: MSYS1129685 +Node: VMS Installation1130185 +Node: VMS Compilation1130977 +Ref: VMS Compilation-Footnote-11132199 +Node: VMS Dynamic Extensions1132257 +Node: VMS Installation Details1133941 +Node: VMS Running1136193 +Node: VMS GNV1139029 +Node: VMS Old Gawk1139763 +Node: Bugs1140233 +Node: Other Versions1144116 +Node: Installation summary1150544 +Node: Notes1151600 +Node: Compatibility Mode1152465 +Node: Additions1153247 +Node: Accessing The Source1154172 +Node: Adding Code1155608 +Node: New Ports1161773 +Node: Derived Files1166255 +Ref: Derived Files-Footnote-11171730 +Ref: Derived Files-Footnote-21171764 +Ref: Derived Files-Footnote-31172360 +Node: Future Extensions1172474 +Node: Implementation Limitations1173080 +Node: Extension Design1174328 +Node: Old Extension Problems1175482 +Ref: Old Extension Problems-Footnote-11176999 +Node: Extension New Mechanism Goals1177056 +Ref: Extension New Mechanism Goals-Footnote-11180416 +Node: Extension Other Design Decisions1180605 +Node: Extension Future Growth1182713 +Node: Old Extension Mechanism1183549 +Node: Notes summary1185311 +Node: Basic Concepts1186497 +Node: Basic High Level1187178 +Ref: figure-general-flow1187450 +Ref: figure-process-flow1188049 +Ref: Basic High Level-Footnote-11191278 +Node: Basic Data Typing1191463 +Node: Glossary1194791 +Node: Copying1219949 +Node: GNU Free Documentation License1257505 +Node: Index1282641 End Tag Table |