diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 1405 |
1 files changed, 629 insertions, 776 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 72703060..afd4972f 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -624,14 +624,11 @@ in (a) below. A copy of the license is included in the section entitled * Configuration Philosophy:: How it's all supposed to work. * Non-Unix Installation:: Installation on Other Operating Systems. -* PC Installation:: Installing and Compiling - 'gawk' on MS-DOS and OS/2. +* PC Installation:: Installing and Compiling 'gawk' on + Microsoft Windows. * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling 'gawk' for MS-DOS, - Windows32, and OS/2. -* PC Testing:: Testing 'gawk' on PC systems. -* PC Using:: Running 'gawk' on MS-DOS, - Windows32 and OS/2. +* PC Compiling:: Compiling 'gawk' for Windows32. +* PC Using:: Running 'gawk' on Windows32. * Cygwin:: Building and running 'gawk' for Cygwin. * MSYS:: Using 'gawk' In The MSYS @@ -869,8 +866,7 @@ different computing environments. This Info file, while describing the of 'awk' called 'gawk' (which stands for "GNU 'awk'"). 'gawk' runs on a broad range of Unix systems, ranging from Intel-architecture PC-based computers up through large-scale systems. 'gawk' has also been ported -to Mac OS X, Microsoft Windows (all versions) and OS/2 PCs, and -OpenVMS.(3) +to Mac OS X, Microsoft Windows (all versions), and OpenVMS.(3) * Menu: @@ -1515,8 +1511,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 non-POSIX operating systems, the -end-of-file character may be different. For example, on OS/2, it is -'Ctrl-z'.) +end-of-file character may be different.) As an example, the following program prints a friendly piece of advice (from Douglas Adams's 'The Hitchhiker's Guide to the Galaxy'), to @@ -2961,7 +2956,7 @@ been found, and 'gawk' no longer needs to use 'AWKPATH'. ---------- Footnotes ---------- - (1) Semicolons on MS-Windows and MS-DOS. + (1) Semicolons on MS-Windows. (2) Your version of 'gawk' may use a different directory; it will depend upon how 'gawk' was built and installed. The actual directory is @@ -28147,8 +28142,8 @@ Various '.c', '.y', and '.h' files Files needed for building 'gawk' on POSIX-compliant systems. 'pc/*' - Files needed for building 'gawk' under MS-Windows and OS/2 (*note - PC Installation:: for details). + Files needed for building 'gawk' under MS-Windows (*note PC + Installation:: for details). 'vms/*' Files needed for building 'gawk' under Vax/VMS and OpenVMS (*note @@ -28367,35 +28362,27 @@ systems. * Menu: * PC Installation:: Installing and Compiling 'gawk' on - MS-DOS and OS/2. + Microsoft Windows. * VMS Installation:: Installing 'gawk' on VMS. File: gawk.info, Node: PC Installation, Next: VMS Installation, Up: Non-Unix Installation -B.3.1 Installation on PC Operating Systems ------------------------------------------- +B.3.1 Installation on MS-Windows +-------------------------------- This minor node covers installation and usage of 'gawk' on Intel -architecture machines running MS-DOS, any version of MS-Windows, or -OS/2. In this minor node, the term "Windows32" refers to any of -Microsoft Windows 95/98/ME/NT/2000/XP/Vista/7/8. +architecture machines running any version of MS-Windows. In this minor +node, the term "Windows32" refers to any of Microsoft Windows +95/98/ME/NT/2000/XP/Vista/7/8/10. - The limitations of MS-DOS (and MS-DOS shells under the other -operating systems) have meant that various "DOS extenders" are often -used with programs such as 'gawk'. The varying capabilities of -Microsoft Windows 3.1 and Windows32 can add to the confusion. For an -overview of the considerations, refer to 'README_d/README.pc' in the -distribution. + See also the 'README_d/README.pc' file in the distribution. * Menu: * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling 'gawk' for MS-DOS, - Windows32, and OS/2. -* PC Testing:: Testing 'gawk' on PC systems. -* PC Using:: Running 'gawk' on MS-DOS, Windows32 - and OS/2. +* PC Compiling:: Compiling 'gawk' for Windows32. +* PC Using:: Running 'gawk' on Windows32. * Cygwin:: Building and running 'gawk' for Cygwin. * MSYS:: Using 'gawk' In The MSYS Environment. @@ -28403,59 +28390,31 @@ distribution. File: gawk.info, Node: PC Binary Installation, Next: PC Compiling, Up: PC Installation -B.3.1.1 Installing a Prepared Distribution for PC Systems -......................................................... - -If you have received a binary distribution prepared by the MS-DOS -maintainers, then 'gawk' and the necessary support files appear under -the 'gnu' directory, with executables in 'gnu/bin', libraries in -'gnu/lib/awk', and manual pages under 'gnu/man'. This is designed for -easy installation to a '/gnu' directory on your drive--however, the -files can be installed anywhere provided 'AWKPATH' is set properly. -Regardless of the installation directory, the first line of 'igawk.cmd' -and 'igawk.bat' (in 'gnu/bin') may need to be edited. - - The binary distribution contains a separate file describing the -contents. In particular, it may include more than one version of the -'gawk' executable. +B.3.1.1 Installing a Prepared Distribution for MS-Windows Systems +................................................................. - OS/2 (32 bit, EMX) binary distributions are prepared for the '/usr' -directory of your preferred drive. Set 'UNIXROOT' to your installation -drive (e.g., 'e:') if you want to install 'gawk' onto another drive than -the hardcoded default 'c:'. Executables appear in '/usr/bin', libraries -under '/usr/share/awk', manual pages under '/usr/man', Texinfo -documentation under '/usr/info', and NLS files under -'/usr/share/locale'. Note that the files can be installed anywhere -provided 'AWKPATH' is set properly. - - If you already have a file '/usr/info/dir' from another package _do -not overwrite it!_ Instead enter the following commands at your prompt -(replace 'x:' by your installation drive): - - install-info --info-dir=x:/usr/info x:/usr/info/gawk.info - install-info --info-dir=x:/usr/info x:/usr/info/gawkinet.info - - The binary distribution may contain a separate file containing -additional or more detailed installation instructions. +The only supported binary distribution for MS-Windows systems is that +provided by Eli Zaretskii's "ezwinports" +(https://sourceforge.net/projects/ezwinports/) project. Install the +compiled 'gawk' from there. -File: gawk.info, Node: PC Compiling, Next: PC Testing, Prev: PC Binary Installation, Up: PC Installation +File: gawk.info, Node: PC Compiling, Next: PC Using, Prev: PC Binary Installation, Up: PC Installation B.3.1.2 Compiling 'gawk' for PC Operating Systems ................................................. -'gawk' can be compiled for MS-DOS, Windows32, and OS/2 using MinGW -(Windows32) or Eberhard Mattes (EMX: MS-DOS, Windows32 and OS/2). The -file 'README_d/README.pc' in the 'gawk' distribution contains additional +'gawk' can be compiled for Windows32 using MinGW (Windows32). The file +'README_d/README.pc' in the 'gawk' distribution contains additional notes, and 'pc/Makefile' contains important information on compilation options. - To build 'gawk' for MS-DOS and Windows32, copy the files in the 'pc' -directory (_except_ for 'ChangeLog') to the directory with the rest of -the 'gawk' sources, then invoke 'make' with the appropriate target name -as an argument to build 'gawk'. The 'Makefile' copied from the 'pc' -directory contains a configuration section with comments and may need to -be edited in order to work with your 'make' utility. + To build 'gawk' for Windows32, copy the files in the 'pc' directory +(_except_ for 'ChangeLog') to the directory with the rest of the 'gawk' +sources, then invoke 'make' with the appropriate target name as an +argument to build 'gawk'. The 'Makefile' copied from the 'pc' directory +contains a configuration section with comments and may need to be edited +in order to work with your 'make' utility. The 'Makefile' supports a number of targets for building various MS-DOS and Windows32 versions. A list of targets is printed if the @@ -28463,120 +28422,25 @@ MS-DOS and Windows32 versions. A list of targets is printed if the native MS-Windows binary of 'gawk' using the MinGW tools, type 'make mingw32'. - The 32 bit EMX version of 'gawk' works "out of the box" under OS/2. -However, it is highly recommended to use GCC 2.95.3 for the compilation. -In principle, it is possible to compile 'gawk' the following way: - - $ ./configure - $ make - - This is not recommended, though. To get an OMF executable you should -use the following commands at your 'sh' prompt: - - $ CFLAGS="-O2 -Zomf -Zmt" - $ export CFLAGS - $ LDFLAGS="-s -Zcrtdll -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x6000" - $ export LDFLAGS - $ RANLIB="echo" - $ export RANLIB - $ ./configure --prefix=c:/usr - $ make AR=emxomfar - - These are just suggestions for use with GCC 2.x. You may use any -other set of (self-consistent) environment variables and compiler flags. - - If you use GCC 2.95 it is recommended to use also: - - $ LIBS="-lgcc" - $ export LIBS - - You can also get an 'a.out' executable if you prefer: - - $ CFLAGS="-O2 -Zmt" - $ export CFLAGS - $ LDFLAGS="-s -Zstack 0x6000" - $ LIBS="-lgcc" - $ unset RANLIB - $ ./configure --prefix=c:/usr - $ make - - NOTE: Compilation of 'a.out' executables also works with GCC 3.2. - Versions later than GCC 3.2 have not been tested successfully. - - 'make install' works as expected with the EMX build. - - NOTE: Ancient OS/2 ports of GNU 'make' are not able to handle the - Makefiles of this package. If you encounter any problems with - 'make', try GNU Make 3.79.1 or later versions. You should find the - latest version on <ftp://hobbes.nmsu.edu/pub/os2/>.(1) - - ---------- Footnotes ---------- - - (1) As of November 2014, this site is still there, but the author -could not find a package for GNU Make. - -File: gawk.info, Node: PC Testing, Next: PC Using, Prev: PC Compiling, Up: PC Installation - -B.3.1.3 Testing 'gawk' on PC Operating Systems -.............................................. +File: gawk.info, Node: PC Using, Next: Cygwin, Prev: PC Compiling, Up: PC Installation -Using 'make' to run the standard tests and to install 'gawk' requires -additional Unix-like tools, including 'sh', 'sed', and 'cp'. In order -to run the tests, the 'test/*.ok' files may need to be converted so that -they have the usual MS-DOS-style end-of-line markers. Alternatively, -run 'make check CMP="diff -a"' to use GNU 'diff' in text mode instead of -'cmp' to compare the resulting files. - - Most of the tests work properly with Stewartson's shell along with -the companion utilities or appropriate GNU utilities. However, some -editing of 'test/Makefile' is required. It is recommended that you copy -the file 'pc/Makefile.tst' over the file 'test/Makefile' as a -replacement. Details can be found in 'README_d/README.pc' and in the -file 'pc/Makefile.tst'. - - On OS/2 the 'pid' test fails because 'spawnl()' is used instead of -'fork()'/'execl()' to start child processes. Also the 'mbfw1' and -'mbprintf1' tests fail because the needed multibyte functionality is not -available. - - -File: gawk.info, Node: PC Using, Next: Cygwin, Prev: PC Testing, Up: PC Installation - -B.3.1.4 Using 'gawk' on PC Operating Systems +B.3.1.3 Using 'gawk' on PC Operating Systems ............................................ -Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support -both the '|&' operator and TCP/IP networking (*note TCP/IP -Networking::). EMX (OS/2 only) supports at least the '|&' operator. +Under MS-Windows, the Cygwin and MinGW environments support both the +'|&' operator and TCP/IP networking (*note TCP/IP Networking::). - The MS-DOS and MS-Windows versions of 'gawk' search for program files -as described in *note AWKPATH Variable::. However, semicolons (rather -than colons) separate elements in the 'AWKPATH' variable. If 'AWKPATH' -is not set or is empty, then the default search path is + The MS-Windows version of 'gawk' searches for program files as +described in *note AWKPATH Variable::. However, semicolons (rather than +colons) separate elements in the 'AWKPATH' variable. If 'AWKPATH' is +not set or is empty, then the default search path is '.;c:/lib/awk;c:/gnu/lib/awk'. - The search path for OS/2 (32 bit, EMX) is determined by the prefix -directory (most likely '/usr' or 'c:/usr') that has been specified as an -option of the 'configure' script as is the case for the Unix versions. -If 'c:/usr' is the prefix directory then the default search path -contains '.' and 'c:/usr/share/awk'. Additionally, to support binary -distributions of 'gawk' for OS/2 systems whose drive 'c:' might not -support long file names or might not exist at all, there is a special -environment variable. If 'UNIXROOT' specifies a drive then this -specific drive is also searched for program files. E.g., if 'UNIXROOT' -is set to 'e:' the complete default search path is -'.;c:/usr/share/awk;e:/usr/share/awk'. - - An 'sh'-like shell (as opposed to 'command.com' under MS-DOS or -'cmd.exe' under MS-Windows or OS/2) may be useful for 'awk' programming. -The DJGPP collection of tools(1) includes an MS-DOS port of Bash, and -several shells are available for OS/2, including 'ksh'. - - Under MS-Windows, OS/2 and MS-DOS, 'gawk' (and many other text -programs) silently translates end-of-line '\r\n' to '\n' on input and -'\n' to '\r\n' on output. A special 'BINMODE' variable (c.e.) allows -control over these translations and is interpreted as follows: + Under MS-Windows, 'gawk' (and many other text programs) silently +translates end-of-line '\r\n' to '\n' on input and '\n' to '\r\n' on +output. A special 'BINMODE' variable (c.e.) allows control over these +translations and is interpreted as follows: * If 'BINMODE' is '"r"' or one, then binary mode is set on read (i.e., no translations on reads). @@ -28632,14 +28496,10 @@ or: With proper quoting, in the first example the setting of 'RS' can be moved into the 'BEGIN' rule. - ---------- Footnotes ---------- - - (1) Available from <ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/>. - File: gawk.info, Node: Cygwin, Next: MSYS, Prev: PC Using, Up: PC Installation -B.3.1.5 Using 'gawk' In The Cygwin Environment +B.3.1.4 Using 'gawk' In The Cygwin Environment .............................................. 'gawk' can be built and used "out of the box" under MS-Windows if you @@ -28660,7 +28520,7 @@ the 'make' proceeds as usual. File: gawk.info, Node: MSYS, Prev: Cygwin, Up: PC Installation -B.3.1.6 Using 'gawk' In The MSYS Environment +B.3.1.5 Using 'gawk' In The MSYS Environment ............................................ In the MSYS environment under MS-Windows, 'gawk' automatically uses @@ -29267,9 +29127,9 @@ B.6 Summary ./configure && make && make check * 'gawk' may be built on non-POSIX systems as well. The currently - supported systems are MS-Windows using MSYS, MinGW, and Cygwin, - OS/2 using EMX, and both Vax/VMS and OpenVMS. Instructions for each - system are included in this major node. + supported systems are MS-Windows using MSYS, MinGW, and Cygwin, and + both Vax/VMS and OpenVMS. Instructions for each system are included + in this major node. * Bug reports should be sent via email to <bug-gawk@gnu.org>. Bug reports should be in English and should include the version of @@ -32418,7 +32278,7 @@ Index * /inet/... special files (gawk): TCP/IP Networking. (line 6) * /inet4/... special files (gawk): TCP/IP Networking. (line 6) * /inet6/... special files (gawk): TCP/IP Networking. (line 6) -* ; (semicolon), AWKPATH variable and: PC Using. (line 10) +* ; (semicolon), AWKPATH variable and: PC Using. (line 9) * ; (semicolon), separating statements in actions: Statements/Lines. (line 90) * ; (semicolon), separating statements in actions <1>: Action Overview. @@ -32713,7 +32573,7 @@ Index * awk programs, running: Running gawk. (line 6) * awk programs, running <1>: Long. (line 6) * awk programs, running, from shell scripts: One-shot. (line 22) -* awk programs, running, without input files: Read Terminal. (line 17) +* awk programs, running, without input files: Read Terminal. (line 16) * awk programs, shell variables in: Using Shell Variables. (line 6) * awk, function of: Getting Started. (line 6) @@ -32746,7 +32606,7 @@ Index * awka compiler for awk: Other Versions. (line 68) * AWKLIBPATH environment variable: AWKLIBPATH Variable. (line 6) * AWKPATH environment variable: AWKPATH Variable. (line 6) -* AWKPATH environment variable <1>: PC Using. (line 10) +* AWKPATH environment variable <1>: PC Using. (line 9) * awkprof.out file: Profiling. (line 6) * awksed.awk program: Simple Sed. (line 25) * awkvars.out file: Options. (line 94) @@ -32840,7 +32700,7 @@ Index * bindtextdomain() function (gawk), portability and: I18N Portability. (line 33) * BINMODE variable: User-modified. (line 15) -* BINMODE variable <1>: PC Using. (line 35) +* BINMODE variable <1>: PC Using. (line 16) * bit-manipulation functions: Bitwise Functions. (line 6) * bits2str() user-defined function: Bitwise Functions. (line 72) * bitwise AND: Bitwise Functions. (line 40) @@ -33021,7 +32881,7 @@ Index * common extensions, /dev/stderr special file: Special FD. (line 48) * common extensions, /dev/stdin special file: Special FD. (line 48) * common extensions, /dev/stdout special file: Special FD. (line 48) -* common extensions, BINMODE variable: PC Using. (line 35) +* common extensions, BINMODE variable: PC Using. (line 16) * common extensions, delete to delete entire arrays: Delete. (line 39) * common extensions, func keyword: Definition Syntax. (line 99) * common extensions, length() applied to an array: String Functions. @@ -33046,9 +32906,8 @@ Index * compiled programs: Basic High Level. (line 13) * compiled programs <1>: Glossary. (line 218) * compiling gawk for Cygwin: Cygwin. (line 6) -* compiling gawk for MS-DOS and MS-Windows: PC Compiling. (line 12) +* compiling gawk for MS-Windows: PC Compiling. (line 11) * compiling gawk for VMS: VMS Compilation. (line 6) -* compiling gawk with EMX for OS/2: PC Compiling. (line 25) * compl: Bitwise Functions. (line 44) * complement, bitwise: Bitwise Functions. (line 25) * compound statements, control statements and: Statements. (line 10) @@ -33322,7 +33181,7 @@ Index * differences in awk and gawk, BINMODE variable: User-modified. (line 15) * differences in awk and gawk, BINMODE variable <1>: PC Using. - (line 35) + (line 16) * differences in awk and gawk, close() function: Close Files And Pipes. (line 81) * differences in awk and gawk, close() function <1>: Close Files And Pipes. @@ -33555,7 +33414,7 @@ Index * extensions, common, /dev/stderr special file: Special FD. (line 48) * extensions, common, /dev/stdin special file: Special FD. (line 48) * extensions, common, /dev/stdout special file: Special FD. (line 48) -* extensions, common, BINMODE variable: PC Using. (line 35) +* extensions, common, BINMODE variable: PC Using. (line 16) * extensions, common, delete to delete entire arrays: Delete. (line 39) * extensions, common, fflush() function: I/O Functions. (line 43) * extensions, common, func keyword: Definition Syntax. (line 99) @@ -33645,7 +33504,7 @@ Index * files, descriptors, See file descriptors: Special FD. (line 6) * files, group: Group Functions. (line 6) * files, initialization and cleanup: Filetrans Function. (line 6) -* files, input, See input files: Read Terminal. (line 17) +* files, input, See input files: Read Terminal. (line 16) * files, log, timestamps in: Time Functions. (line 6) * files, managing: Data File Management. (line 6) @@ -33856,11 +33715,9 @@ Index * gawk, line continuation in: Conditional Exp. (line 34) * gawk, LINT variable in: User-modified. (line 87) * gawk, list of contributors to: Contributors. (line 6) -* gawk, MS-DOS version of: PC Using. (line 10) -* gawk, MS-Windows version of: PC Using. (line 10) +* gawk, MS-Windows version of: PC Using. (line 9) * gawk, newlines in: Statements/Lines. (line 12) * gawk, octal numbers and: Nondecimal-numbers. (line 41) -* gawk, OS/2 version of: PC Using. (line 17) * gawk, predefined variables and: Built-in Variables. (line 14) * gawk, PROCINFO array in: Auto-set. (line 148) * gawk, PROCINFO array in <1>: Time Functions. (line 47) @@ -34059,7 +33916,7 @@ Index * input files, examples: Sample Data Files. (line 6) * input files, reading: Reading Files. (line 6) * input files, running awk without: Read Terminal. (line 6) -* input files, running awk without <1>: Read Terminal. (line 17) +* input files, running awk without <1>: Read Terminal. (line 16) * input files, variable assignments and: Other Arguments. (line 26) * input pipeline: Getline/Pipe. (line 10) * input record, length of: String Functions. (line 177) @@ -34868,12 +34725,12 @@ Index * search and replace in strings: String Functions. (line 89) * search in string: String Functions. (line 155) * search paths: Programs Exercises. (line 70) -* search paths <1>: PC Using. (line 10) +* search paths <1>: PC Using. (line 9) * search paths <2>: VMS Running. (line 57) * search paths, for loadable extensions: AWKLIBPATH Variable. (line 6) * search paths, for source files: AWKPATH Variable. (line 6) * search paths, for source files <1>: Programs Exercises. (line 70) -* search paths, for source files <2>: PC Using. (line 10) +* search paths, for source files <2>: PC Using. (line 9) * search paths, for source files <3>: VMS Running. (line 57) * searching, files for regular expressions: Egrep Program. (line 6) * searching, for words: Dupword Program. (line 6) @@ -34881,7 +34738,7 @@ Index * sed utility <1>: Simple Sed. (line 6) * sed utility <2>: Glossary. (line 16) * seeding random number generator: Numeric Functions. (line 79) -* semicolon (;), AWKPATH variable and: PC Using. (line 10) +* semicolon (;), AWKPATH variable and: PC Using. (line 9) * semicolon (;), separating statements in actions: Statements/Lines. (line 90) * semicolon (;), separating statements in actions <1>: Action Overview. @@ -35245,7 +35102,6 @@ Index * Unix awk, password files, field separators and: Command Line Field Separator. (line 62) * Unix, awk scripts and: Executable Scripts. (line 6) -* UNIXROOT variable, on OS/2 systems: PC Using. (line 17) * unsigned integers: Computer Arithmetic. (line 41) * until debugger command: Debugger Execution Control. (line 82) @@ -35364,573 +35220,570 @@ Index Tag Table: Node: Top1200 -Node: Foreword342713 -Node: Foreword447155 -Node: Preface48687 -Ref: Preface-Footnote-151559 -Ref: Preface-Footnote-251666 -Ref: Preface-Footnote-351900 -Node: History52042 -Node: Names54394 -Ref: Names-Footnote-155488 -Node: This Manual55635 -Ref: This Manual-Footnote-162120 -Node: Conventions62220 -Node: Manual History64574 -Ref: Manual History-Footnote-167569 -Ref: Manual History-Footnote-267610 -Node: How To Contribute67684 -Node: Acknowledgments68813 -Node: Getting Started73699 -Node: Running gawk76138 -Node: One-shot77328 -Node: Read Terminal78591 -Node: Long80623 -Node: Executable Scripts82136 -Ref: Executable Scripts-Footnote-184931 -Node: Comments85034 -Node: Quoting87518 -Node: DOS Quoting93035 -Node: Sample Data Files93710 -Node: Very Simple96305 -Node: Two Rules101207 -Node: More Complex103092 -Node: Statements/Lines105958 -Ref: Statements/Lines-Footnote-1110417 -Node: Other Features110682 -Node: When111618 -Ref: When-Footnote-1113372 -Node: Intro Summary113437 -Node: Invoking Gawk114321 -Node: Command Line115835 -Node: Options116633 -Ref: Options-Footnote-1132732 -Ref: Options-Footnote-2132962 -Node: Other Arguments132987 -Node: Naming Standard Input135934 -Node: Environment Variables137027 -Node: AWKPATH Variable137585 -Ref: AWKPATH Variable-Footnote-1140996 -Ref: AWKPATH Variable-Footnote-2141041 -Node: AWKLIBPATH Variable141302 -Node: Other Environment Variables142559 -Node: Exit Status146380 -Node: Include Files147057 -Node: Loading Shared Libraries150652 -Node: Obsolete152080 -Node: Undocumented152772 -Node: Invoking Summary153069 -Node: Regexp154729 -Node: Regexp Usage156248 -Node: Escape Sequences158285 -Node: Regexp Operators164517 -Ref: Regexp Operators-Footnote-1171933 -Ref: Regexp Operators-Footnote-2172080 -Node: Bracket Expressions172178 -Ref: table-char-classes174654 -Node: Leftmost Longest177791 -Node: Computed Regexps179094 -Node: GNU Regexp Operators182521 -Node: Case-sensitivity186200 -Ref: Case-sensitivity-Footnote-1189096 -Ref: Case-sensitivity-Footnote-2189331 -Node: Strong Regexp Constants189439 -Node: Regexp Summary192381 -Node: Reading Files193987 -Node: Records196150 -Node: awk split records196883 -Node: gawk split records201814 -Ref: gawk split records-Footnote-1206354 -Node: Fields206391 -Node: Nonconstant Fields209132 -Ref: Nonconstant Fields-Footnote-1211368 -Node: Changing Fields211572 -Node: Field Separators217500 -Node: Default Field Splitting220198 -Node: Regexp Field Splitting221316 -Node: Single Character Fields224669 -Node: Command Line Field Separator225729 -Node: Full Line Fields228947 -Ref: Full Line Fields-Footnote-1230469 -Ref: Full Line Fields-Footnote-2230515 -Node: Field Splitting Summary230616 -Node: Constant Size232690 -Node: Splitting By Content237268 -Ref: Splitting By Content-Footnote-1241239 -Node: Multiple Line241402 -Ref: Multiple Line-Footnote-1247284 -Node: Getline247463 -Node: Plain Getline249930 -Node: Getline/Variable252569 -Node: Getline/File253718 -Node: Getline/Variable/File255104 -Ref: Getline/Variable/File-Footnote-1256707 -Node: Getline/Pipe256795 -Node: Getline/Variable/Pipe259500 -Node: Getline/Coprocess260633 -Node: Getline/Variable/Coprocess261898 -Node: Getline Notes262638 -Node: Getline Summary265433 -Ref: table-getline-variants265855 -Node: Read Timeout266603 -Ref: Read Timeout-Footnote-1270509 -Node: Retrying Input270567 -Node: Command-line directories271766 -Node: Input Summary272672 -Node: Input Exercises275844 -Node: Printing276572 -Node: Print278406 -Node: Print Examples279863 -Node: Output Separators282643 -Node: OFMT284660 -Node: Printf286016 -Node: Basic Printf286801 -Node: Control Letters288375 -Node: Format Modifiers292363 -Node: Printf Examples298378 -Node: Redirection300864 -Node: Special FD307705 -Ref: Special FD-Footnote-1310873 -Node: Special Files310947 -Node: Other Inherited Files311564 -Node: Special Network312565 -Node: Special Caveats313425 -Node: Close Files And Pipes314374 -Ref: table-close-pipe-return-values321281 -Ref: Close Files And Pipes-Footnote-1322064 -Ref: Close Files And Pipes-Footnote-2322212 -Node: Nonfatal322364 -Node: Output Summary324689 -Node: Output Exercises325911 -Node: Expressions326590 -Node: Values327778 -Node: Constants328456 -Node: Scalar Constants329147 -Ref: Scalar Constants-Footnote-1330011 -Node: Nondecimal-numbers330261 -Node: Regexp Constants333274 -Node: Using Constant Regexps333800 -Node: Variables336963 -Node: Using Variables337620 -Node: Assignment Options339530 -Node: Conversion341403 -Node: Strings And Numbers341927 -Ref: Strings And Numbers-Footnote-1344990 -Node: Locale influences conversions345099 -Ref: table-locale-affects347857 -Node: All Operators348475 -Node: Arithmetic Ops349104 -Node: Concatenation351610 -Ref: Concatenation-Footnote-1354457 -Node: Assignment Ops354564 -Ref: table-assign-ops359555 -Node: Increment Ops360868 -Node: Truth Values and Conditions364328 -Node: Truth Values365402 -Node: Typing and Comparison366450 -Node: Variable Typing367270 -Node: Comparison Operators370894 -Ref: table-relational-ops371313 -Node: POSIX String Comparison374808 -Ref: POSIX String Comparison-Footnote-1376503 -Ref: POSIX String Comparison-Footnote-2376642 -Node: Boolean Ops376726 -Ref: Boolean Ops-Footnote-1381208 -Node: Conditional Exp381300 -Node: Function Calls383036 -Node: Precedence386913 -Node: Locales390572 -Node: Expressions Summary392204 -Node: Patterns and Actions394777 -Node: Pattern Overview395897 -Node: Regexp Patterns397574 -Node: Expression Patterns398116 -Node: Ranges401897 -Node: BEGIN/END405005 -Node: Using BEGIN/END405766 -Ref: Using BEGIN/END-Footnote-1408502 -Node: I/O And BEGIN/END408608 -Node: BEGINFILE/ENDFILE410922 -Node: Empty413829 -Node: Using Shell Variables414146 -Node: Action Overview416420 -Node: Statements418745 -Node: If Statement420593 -Node: While Statement422088 -Node: Do Statement424116 -Node: For Statement425264 -Node: Switch Statement428422 -Node: Break Statement430808 -Node: Continue Statement432900 -Node: Next Statement434727 -Node: Nextfile Statement437110 -Node: Exit Statement439762 -Node: Built-in Variables442165 -Node: User-modified443298 -Node: Auto-set450884 -Ref: Auto-set-Footnote-1465537 -Ref: Auto-set-Footnote-2465743 -Node: ARGC and ARGV465799 -Node: Pattern Action Summary470012 -Node: Arrays472442 -Node: Array Basics473771 -Node: Array Intro474615 -Ref: figure-array-elements476590 -Ref: Array Intro-Footnote-1479294 -Node: Reference to Elements479422 -Node: Assigning Elements481886 -Node: Array Example482377 -Node: Scanning an Array484136 -Node: Controlling Scanning487158 -Ref: Controlling Scanning-Footnote-1492557 -Node: Numeric Array Subscripts492873 -Node: Uninitialized Subscripts495057 -Node: Delete496676 -Ref: Delete-Footnote-1499428 -Node: Multidimensional499485 -Node: Multiscanning502580 -Node: Arrays of Arrays504171 -Node: Arrays Summary508938 -Node: Functions511031 -Node: Built-in512069 -Node: Calling Built-in513150 -Node: Numeric Functions515146 -Ref: Numeric Functions-Footnote-1519979 -Ref: Numeric Functions-Footnote-2520336 -Ref: Numeric Functions-Footnote-3520384 -Node: String Functions520656 -Ref: String Functions-Footnote-1544160 -Ref: String Functions-Footnote-2544288 -Ref: String Functions-Footnote-3544536 -Node: Gory Details544623 -Ref: table-sub-escapes546414 -Ref: table-sub-proposed547933 -Ref: table-posix-sub549296 -Ref: table-gensub-escapes550837 -Ref: Gory Details-Footnote-1551660 -Node: I/O Functions551814 -Ref: table-system-return-values558396 -Ref: I/O Functions-Footnote-1560376 -Ref: I/O Functions-Footnote-2560524 -Node: Time Functions560644 -Ref: Time Functions-Footnote-1571166 -Ref: Time Functions-Footnote-2571234 -Ref: Time Functions-Footnote-3571392 -Ref: Time Functions-Footnote-4571503 -Ref: Time Functions-Footnote-5571615 -Ref: Time Functions-Footnote-6571842 -Node: Bitwise Functions572108 -Ref: table-bitwise-ops572702 -Ref: Bitwise Functions-Footnote-1577040 -Node: Type Functions577213 -Node: I18N Functions579874 -Node: User-defined581525 -Node: Definition Syntax582330 -Ref: Definition Syntax-Footnote-1588017 -Node: Function Example588088 -Ref: Function Example-Footnote-1591010 -Node: Function Caveats591032 -Node: Calling A Function591550 -Node: Variable Scope592508 -Node: Pass By Value/Reference595502 -Node: Return Statement599001 -Node: Dynamic Typing601980 -Node: Indirect Calls602910 -Ref: Indirect Calls-Footnote-1613161 -Node: Functions Summary613289 -Node: Library Functions615994 -Ref: Library Functions-Footnote-1619601 -Ref: Library Functions-Footnote-2619744 -Node: Library Names619915 -Ref: Library Names-Footnote-1623375 -Ref: Library Names-Footnote-2623598 -Node: General Functions623684 -Node: Strtonum Function624787 -Node: Assert Function627809 -Node: Round Function631135 -Node: Cliff Random Function632676 -Node: Ordinal Functions633692 -Ref: Ordinal Functions-Footnote-1636755 -Ref: Ordinal Functions-Footnote-2637007 -Node: Join Function637217 -Ref: Join Function-Footnote-1638987 -Node: Getlocaltime Function639187 -Node: Readfile Function642929 -Node: Shell Quoting644901 -Node: Data File Management646302 -Node: Filetrans Function646934 -Node: Rewind Function651030 -Node: File Checking652936 -Ref: File Checking-Footnote-1654270 -Node: Empty Files654471 -Node: Ignoring Assigns656450 -Node: Getopt Function658000 -Ref: Getopt Function-Footnote-1669469 -Node: Passwd Functions669669 -Ref: Passwd Functions-Footnote-1678508 -Node: Group Functions678596 -Ref: Group Functions-Footnote-1686494 -Node: Walking Arrays686701 -Node: Library Functions Summary689709 -Node: Library Exercises691115 -Node: Sample Programs691580 -Node: Running Examples692350 -Node: Clones693078 -Node: Cut Program694302 -Node: Egrep Program704231 -Ref: Egrep Program-Footnote-1711743 -Node: Id Program711853 -Node: Split Program715533 -Ref: Split Program-Footnote-1718992 -Node: Tee Program719121 -Node: Uniq Program721911 -Node: Wc Program729337 -Ref: Wc Program-Footnote-1733592 -Node: Miscellaneous Programs733686 -Node: Dupword Program734899 -Node: Alarm Program736929 -Node: Translate Program741784 -Ref: Translate Program-Footnote-1746349 -Node: Labels Program746619 -Ref: Labels Program-Footnote-1749970 -Node: Word Sorting750054 -Node: History Sorting754126 -Node: Extract Program755961 -Node: Simple Sed763490 -Node: Igawk Program766564 -Ref: Igawk Program-Footnote-1780895 -Ref: Igawk Program-Footnote-2781097 -Ref: Igawk Program-Footnote-3781219 -Node: Anagram Program781334 -Node: Signature Program784396 -Node: Programs Summary785643 -Node: Programs Exercises786857 -Ref: Programs Exercises-Footnote-1790986 -Node: Advanced Features791077 -Node: Nondecimal Data793067 -Node: Array Sorting794658 -Node: Controlling Array Traversal795358 -Ref: Controlling Array Traversal-Footnote-1803725 -Node: Array Sorting Functions803843 -Ref: Array Sorting Functions-Footnote-1808934 -Node: Two-way I/O809130 -Ref: Two-way I/O-Footnote-1815680 -Ref: Two-way I/O-Footnote-2815867 -Node: TCP/IP Networking815949 -Node: Profiling819067 -Ref: Profiling-Footnote-1827560 -Node: Advanced Features Summary827883 -Node: Internationalization829727 -Node: I18N and L10N831207 -Node: Explaining gettext831894 -Ref: Explaining gettext-Footnote-1837786 -Ref: Explaining gettext-Footnote-2837971 -Node: Programmer i18n838136 -Ref: Programmer i18n-Footnote-1842991 -Node: Translator i18n843040 -Node: String Extraction843834 -Ref: String Extraction-Footnote-1844966 -Node: Printf Ordering845052 -Ref: Printf Ordering-Footnote-1847838 -Node: I18N Portability847902 -Ref: I18N Portability-Footnote-1850358 -Node: I18N Example850421 -Ref: I18N Example-Footnote-1853227 -Node: Gawk I18N853300 -Node: I18N Summary853945 -Node: Debugger855286 -Node: Debugging856308 -Node: Debugging Concepts856749 -Node: Debugging Terms858558 -Node: Awk Debugging861133 -Node: Sample Debugging Session862039 -Node: Debugger Invocation862573 -Node: Finding The Bug863959 -Node: List of Debugger Commands870437 -Node: Breakpoint Control871770 -Node: Debugger Execution Control875464 -Node: Viewing And Changing Data878826 -Node: Execution Stack882200 -Node: Debugger Info883837 -Node: Miscellaneous Debugger Commands887908 -Node: Readline Support892996 -Node: Limitations893892 -Ref: Limitations-Footnote-1898123 -Node: Debugging Summary898174 -Node: Arbitrary Precision Arithmetic899453 -Node: Computer Arithmetic900869 -Ref: table-numeric-ranges904460 -Ref: Computer Arithmetic-Footnote-1905182 -Node: Math Definitions905239 -Ref: table-ieee-formats908553 -Ref: Math Definitions-Footnote-1909156 -Node: MPFR features909261 -Node: FP Math Caution910978 -Ref: FP Math Caution-Footnote-1912050 -Node: Inexactness of computations912419 -Node: Inexact representation913379 -Node: Comparing FP Values914739 -Node: Errors accumulate915821 -Node: Getting Accuracy917254 -Node: Try To Round919964 -Node: Setting precision920863 -Ref: table-predefined-precision-strings921560 -Node: Setting the rounding mode923390 -Ref: table-gawk-rounding-modes923764 -Ref: Setting the rounding mode-Footnote-1927172 -Node: Arbitrary Precision Integers927351 -Ref: Arbitrary Precision Integers-Footnote-1932268 -Node: POSIX Floating Point Problems932417 -Ref: POSIX Floating Point Problems-Footnote-1936299 -Node: Floating point summary936337 -Node: Dynamic Extensions938527 -Node: Extension Intro940080 -Node: Plugin License941346 -Node: Extension Mechanism Outline942143 -Ref: figure-load-extension942582 -Ref: figure-register-new-function944147 -Ref: figure-call-new-function945239 -Node: Extension API Description947301 -Node: Extension API Functions Introduction948833 -Node: General Data Types953692 -Ref: General Data Types-Footnote-1959647 -Node: Memory Allocation Functions959946 -Ref: Memory Allocation Functions-Footnote-1962791 -Node: Constructor Functions962890 -Node: Registration Functions964635 -Node: Extension Functions965320 -Node: Exit Callback Functions967943 -Node: Extension Version String969193 -Node: Input Parsers969856 -Node: Output Wrappers979738 -Node: Two-way processors984250 -Node: Printing Messages986515 -Ref: Printing Messages-Footnote-1987686 -Node: Updating ERRNO987839 -Node: Requesting Values988578 -Ref: table-value-types-returned989315 -Node: Accessing Parameters990198 -Node: Symbol Table Access991433 -Node: Symbol table by name991945 -Node: Symbol table by cookie993966 -Ref: Symbol table by cookie-Footnote-1998118 -Node: Cached values998182 -Ref: Cached values-Footnote-11001689 -Node: Array Manipulation1001780 -Ref: Array Manipulation-Footnote-11002871 -Node: Array Data Types1002908 -Ref: Array Data Types-Footnote-11005566 -Node: Array Functions1005658 -Node: Flattening Arrays1009516 -Node: Creating Arrays1016424 -Node: Redirection API1021193 -Node: Extension API Variables1024024 -Node: Extension Versioning1024657 -Ref: gawk-api-version1025094 -Node: Extension API Informational Variables1026850 -Node: Extension API Boilerplate1027914 -Node: Finding Extensions1031728 -Node: Extension Example1032287 -Node: Internal File Description1033085 -Node: Internal File Ops1037165 -Ref: Internal File Ops-Footnote-11048927 -Node: Using Internal File Ops1049067 -Ref: Using Internal File Ops-Footnote-11051450 -Node: Extension Samples1051724 -Node: Extension Sample File Functions1053253 -Node: Extension Sample Fnmatch1060902 -Node: Extension Sample Fork1062389 -Node: Extension Sample Inplace1063607 -Node: Extension Sample Ord1066817 -Node: Extension Sample Readdir1067653 -Ref: table-readdir-file-types1068542 -Node: Extension Sample Revout1069347 -Node: Extension Sample Rev2way1069936 -Node: Extension Sample Read write array1070676 -Node: Extension Sample Readfile1072618 -Node: Extension Sample Time1073713 -Node: Extension Sample API Tests1075061 -Node: gawkextlib1075553 -Node: Extension summary1078000 -Node: Extension Exercises1081702 -Node: Language History1083200 -Node: V7/SVR3.11084856 -Node: SVR41087008 -Node: POSIX1088442 -Node: BTL1089821 -Node: POSIX/GNU1090550 -Node: Feature History1096412 -Node: Common Extensions1110782 -Node: Ranges and Locales1112065 -Ref: Ranges and Locales-Footnote-11116681 -Ref: Ranges and Locales-Footnote-21116708 -Ref: Ranges and Locales-Footnote-31116943 -Node: Contributors1117164 -Node: History summary1122724 -Node: Installation1124104 -Node: Gawk Distribution1125048 -Node: Getting1125532 -Node: Extracting1126493 -Node: Distribution contents1128131 -Node: Unix Installation1134225 -Node: Quick Installation1134907 -Node: Shell Startup Files1137321 -Node: Additional Configuration Options1138399 -Node: Configuration Philosophy1140204 -Node: Non-Unix Installation1142573 -Node: PC Installation1143031 -Node: PC Binary Installation1144351 -Node: PC Compiling1146203 -Ref: PC Compiling-Footnote-11148997 -Node: PC Testing1149106 -Node: PC Using1150286 -Ref: PC Using-Footnote-11154439 -Node: Cygwin1154512 -Node: MSYS1155282 -Node: VMS Installation1155783 -Node: VMS Compilation1156574 -Ref: VMS Compilation-Footnote-11157803 -Node: VMS Dynamic Extensions1157861 -Node: VMS Installation Details1159546 -Node: VMS Running1161799 -Node: VMS GNV1166078 -Node: VMS Old Gawk1166813 -Node: Bugs1167284 -Node: Bug address1167947 -Node: Usenet1170344 -Node: Maintainers1171119 -Node: Other Versions1172495 -Node: Installation summary1179079 -Node: Notes1180130 -Node: Compatibility Mode1180995 -Node: Additions1181777 -Node: Accessing The Source1182702 -Node: Adding Code1184137 -Node: New Ports1190356 -Node: Derived Files1194844 -Ref: Derived Files-Footnote-11200329 -Ref: Derived Files-Footnote-21200364 -Ref: Derived Files-Footnote-31200962 -Node: Future Extensions1201076 -Node: Implementation Limitations1201734 -Node: Extension Design1202917 -Node: Old Extension Problems1204071 -Ref: Old Extension Problems-Footnote-11205589 -Node: Extension New Mechanism Goals1205646 -Ref: Extension New Mechanism Goals-Footnote-11209010 -Node: Extension Other Design Decisions1209199 -Node: Extension Future Growth1211312 -Node: Old Extension Mechanism1212148 -Node: Notes summary1213911 -Node: Basic Concepts1215093 -Node: Basic High Level1215774 -Ref: figure-general-flow1216056 -Ref: figure-process-flow1216741 -Ref: Basic High Level-Footnote-11220042 -Node: Basic Data Typing1220227 -Node: Glossary1223555 -Node: Copying1255502 -Node: GNU Free Documentation License1293041 -Node: Index1318159 +Node: Foreword342530 +Node: Foreword446972 +Node: Preface48504 +Ref: Preface-Footnote-151363 +Ref: Preface-Footnote-251470 +Ref: Preface-Footnote-351704 +Node: History51846 +Node: Names54198 +Ref: Names-Footnote-155292 +Node: This Manual55439 +Ref: This Manual-Footnote-161924 +Node: Conventions62024 +Node: Manual History64378 +Ref: Manual History-Footnote-167373 +Ref: Manual History-Footnote-267414 +Node: How To Contribute67488 +Node: Acknowledgments68617 +Node: Getting Started73503 +Node: Running gawk75942 +Node: One-shot77132 +Node: Read Terminal78395 +Node: Long80388 +Node: Executable Scripts81901 +Ref: Executable Scripts-Footnote-184696 +Node: Comments84799 +Node: Quoting87283 +Node: DOS Quoting92800 +Node: Sample Data Files93475 +Node: Very Simple96070 +Node: Two Rules100972 +Node: More Complex102857 +Node: Statements/Lines105723 +Ref: Statements/Lines-Footnote-1110182 +Node: Other Features110447 +Node: When111383 +Ref: When-Footnote-1113137 +Node: Intro Summary113202 +Node: Invoking Gawk114086 +Node: Command Line115600 +Node: Options116398 +Ref: Options-Footnote-1132497 +Ref: Options-Footnote-2132727 +Node: Other Arguments132752 +Node: Naming Standard Input135699 +Node: Environment Variables136792 +Node: AWKPATH Variable137350 +Ref: AWKPATH Variable-Footnote-1140761 +Ref: AWKPATH Variable-Footnote-2140795 +Node: AWKLIBPATH Variable141056 +Node: Other Environment Variables142313 +Node: Exit Status146134 +Node: Include Files146811 +Node: Loading Shared Libraries150406 +Node: Obsolete151834 +Node: Undocumented152526 +Node: Invoking Summary152823 +Node: Regexp154483 +Node: Regexp Usage156002 +Node: Escape Sequences158039 +Node: Regexp Operators164271 +Ref: Regexp Operators-Footnote-1171687 +Ref: Regexp Operators-Footnote-2171834 +Node: Bracket Expressions171932 +Ref: table-char-classes174408 +Node: Leftmost Longest177545 +Node: Computed Regexps178848 +Node: GNU Regexp Operators182275 +Node: Case-sensitivity185954 +Ref: Case-sensitivity-Footnote-1188850 +Ref: Case-sensitivity-Footnote-2189085 +Node: Strong Regexp Constants189193 +Node: Regexp Summary192135 +Node: Reading Files193741 +Node: Records195904 +Node: awk split records196637 +Node: gawk split records201568 +Ref: gawk split records-Footnote-1206108 +Node: Fields206145 +Node: Nonconstant Fields208886 +Ref: Nonconstant Fields-Footnote-1211122 +Node: Changing Fields211326 +Node: Field Separators217254 +Node: Default Field Splitting219952 +Node: Regexp Field Splitting221070 +Node: Single Character Fields224423 +Node: Command Line Field Separator225483 +Node: Full Line Fields228701 +Ref: Full Line Fields-Footnote-1230223 +Ref: Full Line Fields-Footnote-2230269 +Node: Field Splitting Summary230370 +Node: Constant Size232444 +Node: Splitting By Content237022 +Ref: Splitting By Content-Footnote-1240993 +Node: Multiple Line241156 +Ref: Multiple Line-Footnote-1247038 +Node: Getline247217 +Node: Plain Getline249684 +Node: Getline/Variable252323 +Node: Getline/File253472 +Node: Getline/Variable/File254858 +Ref: Getline/Variable/File-Footnote-1256461 +Node: Getline/Pipe256549 +Node: Getline/Variable/Pipe259254 +Node: Getline/Coprocess260387 +Node: Getline/Variable/Coprocess261652 +Node: Getline Notes262392 +Node: Getline Summary265187 +Ref: table-getline-variants265609 +Node: Read Timeout266357 +Ref: Read Timeout-Footnote-1270263 +Node: Retrying Input270321 +Node: Command-line directories271520 +Node: Input Summary272426 +Node: Input Exercises275598 +Node: Printing276326 +Node: Print278160 +Node: Print Examples279617 +Node: Output Separators282397 +Node: OFMT284414 +Node: Printf285770 +Node: Basic Printf286555 +Node: Control Letters288129 +Node: Format Modifiers292117 +Node: Printf Examples298132 +Node: Redirection300618 +Node: Special FD307459 +Ref: Special FD-Footnote-1310627 +Node: Special Files310701 +Node: Other Inherited Files311318 +Node: Special Network312319 +Node: Special Caveats313179 +Node: Close Files And Pipes314128 +Ref: table-close-pipe-return-values321035 +Ref: Close Files And Pipes-Footnote-1321818 +Ref: Close Files And Pipes-Footnote-2321966 +Node: Nonfatal322118 +Node: Output Summary324443 +Node: Output Exercises325665 +Node: Expressions326344 +Node: Values327532 +Node: Constants328210 +Node: Scalar Constants328901 +Ref: Scalar Constants-Footnote-1329765 +Node: Nondecimal-numbers330015 +Node: Regexp Constants333028 +Node: Using Constant Regexps333554 +Node: Variables336717 +Node: Using Variables337374 +Node: Assignment Options339284 +Node: Conversion341157 +Node: Strings And Numbers341681 +Ref: Strings And Numbers-Footnote-1344744 +Node: Locale influences conversions344853 +Ref: table-locale-affects347611 +Node: All Operators348229 +Node: Arithmetic Ops348858 +Node: Concatenation351364 +Ref: Concatenation-Footnote-1354211 +Node: Assignment Ops354318 +Ref: table-assign-ops359309 +Node: Increment Ops360622 +Node: Truth Values and Conditions364082 +Node: Truth Values365156 +Node: Typing and Comparison366204 +Node: Variable Typing367024 +Node: Comparison Operators370648 +Ref: table-relational-ops371067 +Node: POSIX String Comparison374562 +Ref: POSIX String Comparison-Footnote-1376257 +Ref: POSIX String Comparison-Footnote-2376396 +Node: Boolean Ops376480 +Ref: Boolean Ops-Footnote-1380962 +Node: Conditional Exp381054 +Node: Function Calls382790 +Node: Precedence386667 +Node: Locales390326 +Node: Expressions Summary391958 +Node: Patterns and Actions394531 +Node: Pattern Overview395651 +Node: Regexp Patterns397328 +Node: Expression Patterns397870 +Node: Ranges401651 +Node: BEGIN/END404759 +Node: Using BEGIN/END405520 +Ref: Using BEGIN/END-Footnote-1408256 +Node: I/O And BEGIN/END408362 +Node: BEGINFILE/ENDFILE410676 +Node: Empty413583 +Node: Using Shell Variables413900 +Node: Action Overview416174 +Node: Statements418499 +Node: If Statement420347 +Node: While Statement421842 +Node: Do Statement423870 +Node: For Statement425018 +Node: Switch Statement428176 +Node: Break Statement430562 +Node: Continue Statement432654 +Node: Next Statement434481 +Node: Nextfile Statement436864 +Node: Exit Statement439516 +Node: Built-in Variables441919 +Node: User-modified443052 +Node: Auto-set450638 +Ref: Auto-set-Footnote-1465291 +Ref: Auto-set-Footnote-2465497 +Node: ARGC and ARGV465553 +Node: Pattern Action Summary469766 +Node: Arrays472196 +Node: Array Basics473525 +Node: Array Intro474369 +Ref: figure-array-elements476344 +Ref: Array Intro-Footnote-1479048 +Node: Reference to Elements479176 +Node: Assigning Elements481640 +Node: Array Example482131 +Node: Scanning an Array483890 +Node: Controlling Scanning486912 +Ref: Controlling Scanning-Footnote-1492311 +Node: Numeric Array Subscripts492627 +Node: Uninitialized Subscripts494811 +Node: Delete496430 +Ref: Delete-Footnote-1499182 +Node: Multidimensional499239 +Node: Multiscanning502334 +Node: Arrays of Arrays503925 +Node: Arrays Summary508692 +Node: Functions510785 +Node: Built-in511823 +Node: Calling Built-in512904 +Node: Numeric Functions514900 +Ref: Numeric Functions-Footnote-1519733 +Ref: Numeric Functions-Footnote-2520090 +Ref: Numeric Functions-Footnote-3520138 +Node: String Functions520410 +Ref: String Functions-Footnote-1543914 +Ref: String Functions-Footnote-2544042 +Ref: String Functions-Footnote-3544290 +Node: Gory Details544377 +Ref: table-sub-escapes546168 +Ref: table-sub-proposed547687 +Ref: table-posix-sub549050 +Ref: table-gensub-escapes550591 +Ref: Gory Details-Footnote-1551414 +Node: I/O Functions551568 +Ref: table-system-return-values558150 +Ref: I/O Functions-Footnote-1560130 +Ref: I/O Functions-Footnote-2560278 +Node: Time Functions560398 +Ref: Time Functions-Footnote-1570920 +Ref: Time Functions-Footnote-2570988 +Ref: Time Functions-Footnote-3571146 +Ref: Time Functions-Footnote-4571257 +Ref: Time Functions-Footnote-5571369 +Ref: Time Functions-Footnote-6571596 +Node: Bitwise Functions571862 +Ref: table-bitwise-ops572456 +Ref: Bitwise Functions-Footnote-1576794 +Node: Type Functions576967 +Node: I18N Functions579628 +Node: User-defined581279 +Node: Definition Syntax582084 +Ref: Definition Syntax-Footnote-1587771 +Node: Function Example587842 +Ref: Function Example-Footnote-1590764 +Node: Function Caveats590786 +Node: Calling A Function591304 +Node: Variable Scope592262 +Node: Pass By Value/Reference595256 +Node: Return Statement598755 +Node: Dynamic Typing601734 +Node: Indirect Calls602664 +Ref: Indirect Calls-Footnote-1612915 +Node: Functions Summary613043 +Node: Library Functions615748 +Ref: Library Functions-Footnote-1619355 +Ref: Library Functions-Footnote-2619498 +Node: Library Names619669 +Ref: Library Names-Footnote-1623129 +Ref: Library Names-Footnote-2623352 +Node: General Functions623438 +Node: Strtonum Function624541 +Node: Assert Function627563 +Node: Round Function630889 +Node: Cliff Random Function632430 +Node: Ordinal Functions633446 +Ref: Ordinal Functions-Footnote-1636509 +Ref: Ordinal Functions-Footnote-2636761 +Node: Join Function636971 +Ref: Join Function-Footnote-1638741 +Node: Getlocaltime Function638941 +Node: Readfile Function642683 +Node: Shell Quoting644655 +Node: Data File Management646056 +Node: Filetrans Function646688 +Node: Rewind Function650784 +Node: File Checking652690 +Ref: File Checking-Footnote-1654024 +Node: Empty Files654225 +Node: Ignoring Assigns656204 +Node: Getopt Function657754 +Ref: Getopt Function-Footnote-1669223 +Node: Passwd Functions669423 +Ref: Passwd Functions-Footnote-1678262 +Node: Group Functions678350 +Ref: Group Functions-Footnote-1686248 +Node: Walking Arrays686455 +Node: Library Functions Summary689463 +Node: Library Exercises690869 +Node: Sample Programs691334 +Node: Running Examples692104 +Node: Clones692832 +Node: Cut Program694056 +Node: Egrep Program703985 +Ref: Egrep Program-Footnote-1711497 +Node: Id Program711607 +Node: Split Program715287 +Ref: Split Program-Footnote-1718746 +Node: Tee Program718875 +Node: Uniq Program721665 +Node: Wc Program729091 +Ref: Wc Program-Footnote-1733346 +Node: Miscellaneous Programs733440 +Node: Dupword Program734653 +Node: Alarm Program736683 +Node: Translate Program741538 +Ref: Translate Program-Footnote-1746103 +Node: Labels Program746373 +Ref: Labels Program-Footnote-1749724 +Node: Word Sorting749808 +Node: History Sorting753880 +Node: Extract Program755715 +Node: Simple Sed763244 +Node: Igawk Program766318 +Ref: Igawk Program-Footnote-1780649 +Ref: Igawk Program-Footnote-2780851 +Ref: Igawk Program-Footnote-3780973 +Node: Anagram Program781088 +Node: Signature Program784150 +Node: Programs Summary785397 +Node: Programs Exercises786611 +Ref: Programs Exercises-Footnote-1790740 +Node: Advanced Features790831 +Node: Nondecimal Data792821 +Node: Array Sorting794412 +Node: Controlling Array Traversal795112 +Ref: Controlling Array Traversal-Footnote-1803479 +Node: Array Sorting Functions803597 +Ref: Array Sorting Functions-Footnote-1808688 +Node: Two-way I/O808884 +Ref: Two-way I/O-Footnote-1815434 +Ref: Two-way I/O-Footnote-2815621 +Node: TCP/IP Networking815703 +Node: Profiling818821 +Ref: Profiling-Footnote-1827314 +Node: Advanced Features Summary827637 +Node: Internationalization829481 +Node: I18N and L10N830961 +Node: Explaining gettext831648 +Ref: Explaining gettext-Footnote-1837540 +Ref: Explaining gettext-Footnote-2837725 +Node: Programmer i18n837890 +Ref: Programmer i18n-Footnote-1842745 +Node: Translator i18n842794 +Node: String Extraction843588 +Ref: String Extraction-Footnote-1844720 +Node: Printf Ordering844806 +Ref: Printf Ordering-Footnote-1847592 +Node: I18N Portability847656 +Ref: I18N Portability-Footnote-1850112 +Node: I18N Example850175 +Ref: I18N Example-Footnote-1852981 +Node: Gawk I18N853054 +Node: I18N Summary853699 +Node: Debugger855040 +Node: Debugging856062 +Node: Debugging Concepts856503 +Node: Debugging Terms858312 +Node: Awk Debugging860887 +Node: Sample Debugging Session861793 +Node: Debugger Invocation862327 +Node: Finding The Bug863713 +Node: List of Debugger Commands870191 +Node: Breakpoint Control871524 +Node: Debugger Execution Control875218 +Node: Viewing And Changing Data878580 +Node: Execution Stack881954 +Node: Debugger Info883591 +Node: Miscellaneous Debugger Commands887662 +Node: Readline Support892750 +Node: Limitations893646 +Ref: Limitations-Footnote-1897877 +Node: Debugging Summary897928 +Node: Arbitrary Precision Arithmetic899207 +Node: Computer Arithmetic900623 +Ref: table-numeric-ranges904214 +Ref: Computer Arithmetic-Footnote-1904936 +Node: Math Definitions904993 +Ref: table-ieee-formats908307 +Ref: Math Definitions-Footnote-1908910 +Node: MPFR features909015 +Node: FP Math Caution910732 +Ref: FP Math Caution-Footnote-1911804 +Node: Inexactness of computations912173 +Node: Inexact representation913133 +Node: Comparing FP Values914493 +Node: Errors accumulate915575 +Node: Getting Accuracy917008 +Node: Try To Round919718 +Node: Setting precision920617 +Ref: table-predefined-precision-strings921314 +Node: Setting the rounding mode923144 +Ref: table-gawk-rounding-modes923518 +Ref: Setting the rounding mode-Footnote-1926926 +Node: Arbitrary Precision Integers927105 +Ref: Arbitrary Precision Integers-Footnote-1932022 +Node: POSIX Floating Point Problems932171 +Ref: POSIX Floating Point Problems-Footnote-1936053 +Node: Floating point summary936091 +Node: Dynamic Extensions938281 +Node: Extension Intro939834 +Node: Plugin License941100 +Node: Extension Mechanism Outline941897 +Ref: figure-load-extension942336 +Ref: figure-register-new-function943901 +Ref: figure-call-new-function944993 +Node: Extension API Description947055 +Node: Extension API Functions Introduction948587 +Node: General Data Types953446 +Ref: General Data Types-Footnote-1959401 +Node: Memory Allocation Functions959700 +Ref: Memory Allocation Functions-Footnote-1962545 +Node: Constructor Functions962644 +Node: Registration Functions964389 +Node: Extension Functions965074 +Node: Exit Callback Functions967697 +Node: Extension Version String968947 +Node: Input Parsers969610 +Node: Output Wrappers979492 +Node: Two-way processors984004 +Node: Printing Messages986269 +Ref: Printing Messages-Footnote-1987440 +Node: Updating ERRNO987593 +Node: Requesting Values988332 +Ref: table-value-types-returned989069 +Node: Accessing Parameters989952 +Node: Symbol Table Access991187 +Node: Symbol table by name991699 +Node: Symbol table by cookie993720 +Ref: Symbol table by cookie-Footnote-1997872 +Node: Cached values997936 +Ref: Cached values-Footnote-11001443 +Node: Array Manipulation1001534 +Ref: Array Manipulation-Footnote-11002625 +Node: Array Data Types1002662 +Ref: Array Data Types-Footnote-11005320 +Node: Array Functions1005412 +Node: Flattening Arrays1009270 +Node: Creating Arrays1016178 +Node: Redirection API1020947 +Node: Extension API Variables1023778 +Node: Extension Versioning1024411 +Ref: gawk-api-version1024848 +Node: Extension API Informational Variables1026604 +Node: Extension API Boilerplate1027668 +Node: Finding Extensions1031482 +Node: Extension Example1032041 +Node: Internal File Description1032839 +Node: Internal File Ops1036919 +Ref: Internal File Ops-Footnote-11048681 +Node: Using Internal File Ops1048821 +Ref: Using Internal File Ops-Footnote-11051204 +Node: Extension Samples1051478 +Node: Extension Sample File Functions1053007 +Node: Extension Sample Fnmatch1060656 +Node: Extension Sample Fork1062143 +Node: Extension Sample Inplace1063361 +Node: Extension Sample Ord1066571 +Node: Extension Sample Readdir1067407 +Ref: table-readdir-file-types1068296 +Node: Extension Sample Revout1069101 +Node: Extension Sample Rev2way1069690 +Node: Extension Sample Read write array1070430 +Node: Extension Sample Readfile1072372 +Node: Extension Sample Time1073467 +Node: Extension Sample API Tests1074815 +Node: gawkextlib1075307 +Node: Extension summary1077754 +Node: Extension Exercises1081456 +Node: Language History1082954 +Node: V7/SVR3.11084610 +Node: SVR41086762 +Node: POSIX1088196 +Node: BTL1089575 +Node: POSIX/GNU1090304 +Node: Feature History1096166 +Node: Common Extensions1110536 +Node: Ranges and Locales1111819 +Ref: Ranges and Locales-Footnote-11116435 +Ref: Ranges and Locales-Footnote-21116462 +Ref: Ranges and Locales-Footnote-31116697 +Node: Contributors1116918 +Node: History summary1122478 +Node: Installation1123858 +Node: Gawk Distribution1124802 +Node: Getting1125286 +Node: Extracting1126247 +Node: Distribution contents1127885 +Node: Unix Installation1133970 +Node: Quick Installation1134652 +Node: Shell Startup Files1137066 +Node: Additional Configuration Options1138144 +Node: Configuration Philosophy1139949 +Node: Non-Unix Installation1142318 +Node: PC Installation1142778 +Node: PC Binary Installation1143616 +Node: PC Compiling1144051 +Node: PC Using1145168 +Node: Cygwin1148213 +Node: MSYS1148983 +Node: VMS Installation1149484 +Node: VMS Compilation1150275 +Ref: VMS Compilation-Footnote-11151504 +Node: VMS Dynamic Extensions1151562 +Node: VMS Installation Details1153247 +Node: VMS Running1155500 +Node: VMS GNV1159779 +Node: VMS Old Gawk1160514 +Node: Bugs1160985 +Node: Bug address1161648 +Node: Usenet1164045 +Node: Maintainers1164820 +Node: Other Versions1166196 +Node: Installation summary1172780 +Node: Notes1173815 +Node: Compatibility Mode1174680 +Node: Additions1175462 +Node: Accessing The Source1176387 +Node: Adding Code1177822 +Node: New Ports1184041 +Node: Derived Files1188529 +Ref: Derived Files-Footnote-11194014 +Ref: Derived Files-Footnote-21194049 +Ref: Derived Files-Footnote-31194647 +Node: Future Extensions1194761 +Node: Implementation Limitations1195419 +Node: Extension Design1196602 +Node: Old Extension Problems1197756 +Ref: Old Extension Problems-Footnote-11199274 +Node: Extension New Mechanism Goals1199331 +Ref: Extension New Mechanism Goals-Footnote-11202695 +Node: Extension Other Design Decisions1202884 +Node: Extension Future Growth1204997 +Node: Old Extension Mechanism1205833 +Node: Notes summary1207596 +Node: Basic Concepts1208778 +Node: Basic High Level1209459 +Ref: figure-general-flow1209741 +Ref: figure-process-flow1210426 +Ref: Basic High Level-Footnote-11213727 +Node: Basic Data Typing1213912 +Node: Glossary1217240 +Node: Copying1249187 +Node: GNU Free Documentation License1286726 +Node: Index1311844 End Tag Table |