diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2010-12-18 20:29:22 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2010-12-18 20:29:22 +0200 |
commit | bd52c816f95a6aec471f194b94c2e195cf7f9988 (patch) | |
tree | 95afa5c273355441df78fdf1aeaa69d078945159 /doc/gawk.info | |
parent | dd4d686a4181448171114d6fc6f4f8ae58394e16 (diff) | |
download | egawk-bd52c816f95a6aec471f194b94c2e195cf7f9988.tar.gz egawk-bd52c816f95a6aec471f194b94c2e195cf7f9988.tar.bz2 egawk-bd52c816f95a6aec471f194b94c2e195cf7f9988.zip |
Cleanup the mainline PC code, and pc/ directory.
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 958 |
1 files changed, 454 insertions, 504 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 75dc02cb..e499337a 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -453,8 +453,8 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * PC Binary Installation:: Installing a prepared distribution. * PC Compiling:: Compiling `gawk' for MS-DOS, Windows32, and OS/2. -* PC Dynamic:: Compiling `gawk' for dynamic - libraries. +* PC Testing:: Testing `gawk' on PC + Operating Systems. * PC Using:: Running `gawk' on MS-DOS, Windows32 and OS/2. * Cygwin:: Building and running `gawk' for @@ -1567,7 +1567,7 @@ Although this Info file generally only worries about POSIX systems and the POSIX shell, the following issue arises often enough for many users that it is worth addressing. - The "shell" on Microsoft Windows systems use the double-quote + The "shells" on Microsoft Windows systems use the double-quote character for quoting, and make it difficult or impossible to include an escaped double-quote character in a command-line script. The following example, courtesy of Jeroen Brink, shows how to print all lines in a @@ -20115,7 +20115,7 @@ B.3.1 Installation on PC Operating Systems This minor node covers installation and usage of `gawk' on x86 machines running DOS, any version of Windows, or OS/2. In this minor node, the -term "Windows32" refers to any of Windows-95/98/ME/NT/2000. +term "Windows32" refers to any of Windows-95/98/ME/NT/2000/XP/Vista/7. The limitations of DOS (and DOS shells under Windows or OS/2) has meant that various "DOS extenders" are often used with programs such as @@ -20129,8 +20129,7 @@ distribution. * PC Binary Installation:: Installing a prepared distribution. * PC Compiling:: Compiling `gawk' for MS-DOS, Windows32, and OS/2. -* PC Dynamic:: Compiling `gawk' for dynamic - libraries. +* PC Testing:: Testing `gawk' on PC systems. * PC Using:: Running `gawk' on MS-DOS, Windows32 and OS/2. * Cygwin:: Building and running `gawk' for @@ -20176,45 +20175,32 @@ set properly. additional or more detailed installation instructions. -File: gawk.info, Node: PC Compiling, Next: PC Dynamic, Prev: PC Binary Installation, Up: PC Installation +File: gawk.info, Node: PC Compiling, Next: PC Testing, 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 the GNU development tools from DJ Delorie (DJGPP; MS-DOS only) or Eberhard -Mattes (EMX; MS-DOS, Windows32 and OS/2). Microsoft Visual C/C++ can -be used to build a Windows32 version, and Microsoft C/C++ can be used -to build 16-bit versions for MS-DOS and OS/2. *FIXME:* (As of `gawk' -3.1.2, the MSC version doesn't work. However, the maintainer is working -on fixing it.) 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, Windows32, and OS/2 (16 bit only; for 32 -bit (EMX) you can use the `configure' script and skip the following -paragraphs; for details see below), copy the files in the `pc' +Mattes (EMX; MS-DOS, Windows32 and OS/2). 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. The `Makefile' contains a configuration section -with comments and may need to be edited in order to work with your -`make' utility. - - The `Makefile' contains a number of targets for building various -MS-DOS, Windows32, and OS/2 versions. A list of targets is printed if -the `make' command is given without a target. As an example, to build -`gawk' using the DJGPP tools, enter `make djgpp'. (The DJGPP tools may -be found at `ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/'.) - - 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 DOS-style end-of-line markers. -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'. +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 +`make' command is given without a target. As an example, to build +`gawk' using the DJGPP tools, enter `make djgpp'. (The DJGPP tools +needed for the build may be found at +`ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/'.) To build a native +MS-Windows binary of `gawk', type `make mingw32'. The 32 bit EMX version of `gawk' works "out of the box" under OS/2. In principle, it is possible to compile `gawk' the following way: @@ -20222,7 +20208,7 @@ 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 + This is not recommended, though. To get an OMF executable you should use the following commands at your `sh' prompt: $ CPPFLAGS="-D__ST_MT_ERRNO__" @@ -20236,7 +20222,7 @@ use the following commands at your `sh' prompt: $ ./configure --prefix=c:/usr --without-included-gettext $ make AR=emxomfar - These are just suggestions. You may use any other set of + These are just suggestions. You may use any other set of (self-consistent) environment variables and compiler flags. To get an FHS-compliant file hierarchy it is recommended to use the @@ -20263,86 +20249,51 @@ additional `configure' options `--infodir=c:/usr/share/info', NOTE: Versions later than GCC 2.95, i.e., GCC 3.x using the Innotek libc were not tested. - NOTE: Even if the compiled `gawk.exe' (`a.out') executable - contains a DOS header, it does _not_ work under DOS. To compile an - executable that runs under DOS, `"-DPIPES_SIMULATED"' must be - added to `CPPFLAGS'. But then some nonstandard extensions of - `gawk' (e.g., `|&') do not work! - - After compilation the internal tests can be performed. Enter `make -check CMP="diff -a"' at your command prompt. All tests except for the + After compilation the internal tests can be performed. Enter `make +check CMP="diff -a"' at your command prompt. All tests except for the `pid' test are expected to work properly. The `pid' test fails because child processes are not started by `fork()'. - `make install' works as expected. + `make install' works as expected with the EMX build. NOTE: Most 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/'. + 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/'. -File: gawk.info, Node: PC Dynamic, Next: PC Using, Prev: PC Compiling, Up: PC Installation +File: gawk.info, Node: PC Testing, Next: PC Using, Prev: PC Compiling, Up: PC Installation -B.3.1.3 Compiling `gawk' For Dynamic Libraries +B.3.1.3 Testing `gawk' on PC Operating Systems .............................................. -To compile `gawk' with dynamic extension support, uncomment the -definitions of `DYN_FLAGS', `DYN_EXP', `DYN_OBJ', and `DYN_MAKEXP' in -the configuration section of the `Makefile'. There are two definitions -for `DYN_MAKEXP': pick the one that matches your target. - - To build some of the example extension libraries, `cd' to the -extension directory and copy `Makefile.pc' to `Makefile'. You can then -build using the same two targets. To run the example `awk' scripts, -you'll need to either change the call to the `extension()' function to -match the name of the library (for instance, change `"./ordchr.so"' to -`"ordchr.dll"' or simply `"ordchr"'), or rename the library to match -the call (for instance, rename `ordchr.dll' to `ordchr.so'). - - If you build `gawk.exe' with one compiler but want to build an -extension library with the other, you need to copy the import library. -Visual C uses a library called `gawk.lib', while MinGW uses a library -called `libgawk.a'. These files are equivalent and will interoperate if -you give them the correct name. The resulting shared libraries are -also interoperable. - - To create your own extension library, you can use the examples as -models, but you're essentially on your own. Post to `comp.lang.awk' or -send electronic mail to <ptjm@interlog.com> if you have problems getting -started. If you need to access functions or variables which are not -exported by `gawk.exe', add them to `gawkw32.def' and rebuild. You -should also add `ATTRIBUTE_EXPORTED' to the declaration in `awk.h' of -any variables you add to `gawkw32.def'. - - Note that extension libraries have the name of the `awk' executable -embedded in them at link time, so they will work only with `gawk.exe'. -In particular, they won't work if you rename `gawk.exe' to `awk.exe' or -if you try to use `pgawk.exe'. You can perform profiling by temporarily -renaming `pgawk.exe' to `gawk.exe'. You can resolve this problem by -changing the program name in the definition of `DYN_MAKEXP' for your -compiler. - - On Windows32, libraries are sought first in the current directory, -then in the directory containing `gawk.exe', and finally through the -`PATH' environment variable. - - -File: gawk.info, Node: PC Using, Next: Cygwin, Prev: PC Dynamic, 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 DOS-style end-of-line markers. 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'. + + +File: gawk.info, Node: PC Using, Next: Cygwin, Prev: PC Testing, Up: PC Installation B.3.1.4 Using `gawk' on PC Operating Systems ............................................ With the exception of the Cygwin environment, the `|&' operator and TCP/IP networking (*note TCP/IP Networking::) are not supported for -MS-DOS or MS-Windows. EMX (OS/2 only) does support at least the `|&' +MS-DOS or MS-Windows. EMX (OS/2 only) does support at least the `|&' operator. - The OS/2 and MS-DOS 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 for OS/2 (16 bit) -and MS-DOS versions is `".;c:/lib/awk;c:/gnu/lib/awk"'. + 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 for +MS-Windows and MS-DOS versions 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 @@ -20351,26 +20302,20 @@ 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 +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 OS/2) may be useful for `awk' programming. Ian -Stewartson has written an excellent shell for MS-DOS and OS/2, Daisuke -Aoyama has ported GNU Bash to MS-DOS using the DJGPP tools, and several -shells are available for OS/2, including `ksh'. The file -`README_d/README.pc' in the `gawk' distribution contains information on -these shells. Users of Stewartson's shell on DOS should examine its -documentation for handling command lines; in particular, the setting -for `gawk' in the shell configuration may need to be changed and the -`ignoretype' option may also be of interest. - - Under OS/2 and DOS, `gawk' (and many other text programs) silently -translate end-of-line `"\r\n"' to `"\n"' on input and `"\n"' to -`"\r\n"' on output. A special `BINMODE' variable allows control over -these translations and is interpreted as follows: +`cmd.exe' under Windows or OS/2) may be useful for `awk' programming. +The DJGPP collection of tools includes an MS-DOS port of Bash, and +several shells are available for OS/2, including `ksh'. + + Under Windows, OS/2 and DOS, `gawk' (and many other text programs) +silently translate end-of-line `"\r\n"' to `"\n"' on input and `"\n"' +to `"\r\n"' on output. A special `BINMODE' variable 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). @@ -20432,10 +20377,10 @@ File: gawk.info, Node: Cygwin, Next: MSYS, Prev: PC Using, Up: PC Installati B.3.1.5 Using `gawk' In The Cygwin Environment .............................................. -`gawk' can be used "out of the box" under Windows if you are using the -Cygwin environment (http://www.cygwin.com). This environment provides -an excellent simulation of Unix, using the GNU tools, such as Bash, the -GNU Compiler Collection (GCC), GNU Make, and other GNU tools. +`gawk' can be built and used "out of the box" under Windows if you are +using the Cygwin environment (http://www.cygwin.com). This environment +provides an excellent simulation of Unix, using the GNU tools, such as +Bash, the GNU Compiler Collection (GCC), GNU Make, and other GNU tools. Compilation and installation for Cygwin is the same as for a Unix system: @@ -20450,7 +20395,7 @@ the `make' proceeds as usual. NOTE: The `|&' operator and TCP/IP networking (*note TCP/IP Networking::) are fully supported in the Cygwin environment. This - is not true for any other environment for MS-Windows. + is not true for any other environment on MS-Windows. File: gawk.info, Node: MSYS, Prev: Cygwin, Up: PC Installation @@ -20459,12 +20404,12 @@ B.3.1.6 Using `gawk' In The MSYS Environment ............................................ In the MSYS environment under Windows, `gawk' automatically uses binary -mode for reading and writing files. Thus there is no need to use the +mode for reading and writing files. Thus there is no need to use the `BINMODE' variable. This can cause problems with other Unix-like components that have been ported to Windows that expect `gawk' to do automatic translation -of `"\r\n"', since it won't. Caveat Emptor! +of `"\r\n"', since it won't. Caveat Emptor! File: gawk.info, Node: VMS Installation, Prev: PC Installation, Up: Non-Unix Installation @@ -25039,7 +24984,7 @@ Index * bindtextdomain() function (gawk): I18N Functions. (line 12) * bindtextdomain() function (gawk), portability and: I18N Portability. (line 33) -* BINMODE variable <1>: PC Using. (line 40) +* BINMODE variable <1>: PC Using. (line 34) * BINMODE variable: User-modified. (line 10) * bits2str user-defined function: Bitwise Functions. (line 68) * bitwise, complement: Bitwise Functions. (line 25) @@ -25184,6 +25129,8 @@ Index * compatibility mode (gawk), specifying: Options. (line 78) * compiled programs <1>: Glossary. (line 155) * compiled programs: Basic High Level. (line 15) +* compiling gawk for DOS and Windows: PC Compiling. (line 13) +* compiling gawk with EMX for OS/2 and Windows: PC Compiling. (line 28) * compl() function (gawk): Bitwise Functions. (line 42) * complement, bitwise: Bitwise Functions. (line 25) * compound statements, control statements and: Statements. (line 10) @@ -25229,6 +25176,7 @@ Index (line 29) * cut utility: Cut Program. (line 6) * cut.awk program: Cut Program. (line 45) +* Cygwin build of gawk: Cygwin. (line 6) * d debugger command (alias for break): Breakpoint Control. (line 57) * d.c., See dark corner: Conventions. (line 37) * dark corner <1>: Glossary. (line 187) @@ -25411,7 +25359,7 @@ Index * differences in awk and gawk, BEGIN/END patterns: I/O And BEGIN/END. (line 16) * differences in awk and gawk, BINMODE variable <1>: PC Using. - (line 40) + (line 34) * differences in awk and gawk, BINMODE variable: User-modified. (line 23) * differences in awk and gawk, close() function: Close Files And Pipes. @@ -27018,6 +26966,7 @@ Index * Unix awk, password files, field separators and: Command Line Field Separator. (line 72) * Unix, awk scripts and: Executable Scripts. (line 6) +* UNIXROOT variable, on OS/2 systems: PC Using. (line 17) * unref internal function: Internals. (line 92) * unsigned integers: Basic Data Typing. (line 28) * until debugger command: Dgawk Execution Control. @@ -27034,6 +26983,7 @@ Index * user-modifiable variables: User-modified. (line 6) * users, information about, printing: Id Program. (line 6) * users, information about, retrieving: Passwd Functions. (line 16) +* using gawk on Cygwin: Cygwin. (line 6) * USR1 signal: Profiling. (line 182) * values, numeric: Basic Data Typing. (line 13) * values, string: Basic Data Typing. (line 13) @@ -27175,381 +27125,381 @@ Ref: Executable Scripts-Footnote-267723 Node: Comments68174 Node: Quoting70542 Node: DOS Quoting75159 -Node: Sample Data Files75827 -Node: Very Simple78859 -Node: Two Rules83456 -Node: More Complex85603 -Ref: More Complex-Footnote-188533 -Node: Statements/Lines88613 -Ref: Statements/Lines-Footnote-192971 -Node: Other Features93236 -Node: When94105 -Node: Invoking Gawk96248 -Node: Command Line97633 -Node: Options98416 -Ref: Options-Footnote-1111612 -Node: Other Arguments111637 -Node: Naming Standard Input114300 -Node: Environment Variables115264 -Node: AWKPATH Variable115708 -Ref: AWKPATH Variable-Footnote-1118445 -Node: Other Environment Variables118705 -Node: Exit Status121053 -Node: Include Files121728 -Node: Obsolete125119 -Node: Undocumented125805 -Node: Regexp126046 -Node: Regexp Usage127498 -Node: Escape Sequences129524 -Node: Regexp Operators135267 -Ref: Regexp Operators-Footnote-1142439 -Ref: Regexp Operators-Footnote-2142586 -Node: Character Lists142684 -Ref: table-char-classes144459 -Node: GNU Regexp Operators147084 -Node: Case-sensitivity150797 -Ref: Case-sensitivity-Footnote-1153752 -Ref: Case-sensitivity-Footnote-2153987 -Node: Leftmost Longest154095 -Node: Computed Regexps155296 -Node: Locales158713 -Node: Reading Files162255 -Node: Records164196 -Ref: Records-Footnote-1172762 -Node: Fields172799 -Ref: Fields-Footnote-1175831 -Node: Nonconstant Fields175917 -Node: Changing Fields178119 -Node: Field Separators183404 -Node: Default Field Splitting186033 -Node: Regexp Field Splitting187150 -Node: Single Character Fields190500 -Node: Command Line Field Separator191551 -Node: Field Splitting Summary194990 -Ref: Field Splitting Summary-Footnote-1198176 -Node: Constant Size198277 -Node: Splitting By Content202839 -Ref: Splitting By Content-Footnote-1206565 -Node: Multiple Line206605 -Ref: Multiple Line-Footnote-1212345 -Node: Getline212524 -Node: Plain Getline214752 -Node: Getline/Variable216841 -Node: Getline/File217982 -Node: Getline/Variable/File219304 -Ref: Getline/Variable/File-Footnote-1220903 -Node: Getline/Pipe220990 -Node: Getline/Variable/Pipe223538 -Node: Getline/Coprocess224645 -Node: Getline/Variable/Coprocess225888 -Node: Getline Notes226602 -Node: Getline Summary228544 -Ref: table-getline-variants228828 -Node: Command line directories229733 -Node: Printing230358 -Node: Print231989 -Node: Print Examples233326 -Node: Output Separators236110 -Node: OFMT237869 -Node: Printf239227 -Node: Basic Printf240133 -Node: Control Letters241670 -Node: Format Modifiers245482 -Node: Printf Examples251493 -Node: Redirection254208 -Node: Special Files261186 -Node: Special FD261719 -Ref: Special FD-Footnote-1265294 -Node: Special Network265368 -Node: Special Caveats266223 -Node: Close Files And Pipes267017 -Ref: Close Files And Pipes-Footnote-1273961 -Ref: Close Files And Pipes-Footnote-2274109 -Node: Expressions274259 -Node: Values275328 -Node: Constants276004 -Node: Scalar Constants276684 -Ref: Scalar Constants-Footnote-1277543 -Node: Nondecimal-numbers277725 -Node: Regexp Constants280784 -Node: Using Constant Regexps281259 -Node: Variables284264 -Node: Using Variables284919 -Node: Assignment Options286646 -Node: Conversion288527 -Ref: table-locale-affects293901 -Ref: Conversion-Footnote-1294525 -Node: All Operators294634 -Node: Arithmetic Ops295264 -Node: Concatenation297763 -Ref: Concatenation-Footnote-1300556 -Node: Assignment Ops300675 -Ref: table-assign-ops305663 -Node: Increment Ops307064 -Node: Truth Values and Conditions310542 -Node: Truth Values311625 -Node: Typing and Comparison312673 -Node: Variable Typing313462 -Ref: Variable Typing-Footnote-1317359 -Node: Comparison Operators317481 -Ref: table-relational-ops317891 -Node: POSIX String Comparison321440 -Ref: POSIX String Comparison-Footnote-1322397 -Node: Boolean Ops322535 -Ref: Boolean Ops-Footnote-1326613 -Node: Conditional Exp326704 -Node: Function Calls328436 -Node: Precedence331995 -Node: Patterns and Actions335648 -Node: Pattern Overview336702 -Node: Regexp Patterns338368 -Node: Expression Patterns338911 -Node: Ranges342485 -Node: BEGIN/END345451 -Node: Using BEGIN/END346201 -Ref: Using BEGIN/END-Footnote-1348932 -Node: I/O And BEGIN/END349046 -Node: Empty351315 -Node: BEGINFILE/ENDFILE351649 -Node: Using Shell Variables354474 -Node: Action Overview356753 -Node: Statements359110 -Node: If Statement360969 -Node: While Statement362468 -Node: Do Statement364512 -Node: For Statement365668 -Node: Switch Statement368820 -Node: Break Statement370917 -Node: Continue Statement372893 -Node: Next Statement374594 -Node: Nextfile Statement376976 -Node: Exit Statement379494 -Node: Built-in Variables381825 -Node: User-modified382920 -Ref: User-modified-Footnote-1390921 -Node: Auto-set390983 -Ref: Auto-set-Footnote-1399966 -Node: ARGC and ARGV400171 -Node: Arrays403930 -Node: Array Basics405501 -Node: Array Intro406212 -Node: Reference to Elements410530 -Node: Assigning Elements412800 -Node: Array Example413291 -Node: Scanning an Array415023 -Node: Delete417300 -Ref: Delete-Footnote-1419698 -Node: Numeric Array Subscripts419755 -Node: Uninitialized Subscripts421938 -Node: Multi-dimensional423566 -Node: Multi-scanning426657 -Node: Array Sorting428241 -Ref: Array Sorting-Footnote-1431439 -Node: Arrays of Arrays431633 -Node: Functions435795 -Node: Built-in436617 -Node: Calling Built-in437631 -Node: Numeric Functions439607 -Ref: Numeric Functions-Footnote-1443316 -Ref: Numeric Functions-Footnote-2443652 -Ref: Numeric Functions-Footnote-3443700 -Node: String Functions443969 -Ref: String Functions-Footnote-1465768 -Ref: String Functions-Footnote-2465897 -Ref: String Functions-Footnote-3466145 -Node: Gory Details466232 -Ref: table-sub-escapes467889 -Ref: table-posix-sub469203 -Ref: table-gensub-escapes470103 -Node: I/O Functions471274 -Ref: I/O Functions-Footnote-1477971 -Node: Time Functions478118 -Ref: Time Functions-Footnote-1488985 -Ref: Time Functions-Footnote-2489053 -Ref: Time Functions-Footnote-3489211 -Ref: Time Functions-Footnote-4489322 -Ref: Time Functions-Footnote-5489434 -Ref: Time Functions-Footnote-6489661 -Node: Bitwise Functions489927 -Ref: table-bitwise-ops490485 -Ref: Bitwise Functions-Footnote-1494645 -Node: I18N Functions494829 -Node: User-defined496459 -Node: Definition Syntax497263 -Ref: Definition Syntax-Footnote-1501893 -Node: Function Example501962 -Node: Function Caveats504556 -Node: Calling A Function504977 -Node: Variable Scope506066 -Node: Pass By Value/Reference507994 -Node: Return Statement511434 -Node: Dynamic Typing514376 -Node: Indirect Calls515113 -Node: Internationalization524798 -Node: I18N and L10N526226 -Node: Explaining gettext526912 -Ref: Explaining gettext-Footnote-1531974 -Ref: Explaining gettext-Footnote-2532157 -Node: Programmer i18n532322 -Node: Translator i18n536585 -Node: String Extraction537378 -Ref: String Extraction-Footnote-1538339 -Node: Printf Ordering538425 -Ref: Printf Ordering-Footnote-1541209 -Node: I18N Portability541273 -Ref: I18N Portability-Footnote-1543722 -Node: I18N Example543785 -Ref: I18N Example-Footnote-1546420 -Node: Gawk I18N546492 -Node: Advanced Features547061 -Node: Nondecimal Data548380 -Node: Two-way I/O549941 -Ref: Two-way I/O-Footnote-1555355 -Node: TCP/IP Networking555432 -Node: Profiling558204 -Node: Library Functions565604 -Ref: Library Functions-Footnote-1568574 -Node: Library Names568745 -Ref: Library Names-Footnote-1572216 -Ref: Library Names-Footnote-2572436 -Node: General Functions572522 -Node: Nextfile Function573585 -Node: Strtonum Function577966 -Node: Assert Function580917 -Node: Round Function584243 -Node: Cliff Random Function585784 -Node: Ordinal Functions586800 -Ref: Ordinal Functions-Footnote-1589870 -Ref: Ordinal Functions-Footnote-2590122 -Node: Join Function590338 -Ref: Join Function-Footnote-1592109 -Node: Gettimeofday Function592309 -Node: Data File Management596024 -Node: Filetrans Function596656 -Node: Rewind Function600893 -Node: File Checking602346 -Node: Empty Files603440 -Node: Ignoring Assigns605670 -Node: Getopt Function607223 -Ref: Getopt Function-Footnote-1618548 -Node: Passwd Functions618751 -Ref: Passwd Functions-Footnote-1627739 -Node: Group Functions627827 -Node: Sample Programs635907 -Node: Running Examples636572 -Node: Clones637300 -Node: Cut Program638423 -Node: Egrep Program648264 -Ref: Egrep Program-Footnote-1656035 -Node: Id Program656145 -Node: Split Program659761 -Ref: Split Program-Footnote-1663280 -Node: Tee Program663408 -Node: Uniq Program666211 -Node: Wc Program673634 -Ref: Wc Program-Footnote-1677898 -Node: Miscellaneous Programs678098 -Node: Dupword Program679218 -Node: Alarm Program681249 -Node: Translate Program685971 -Ref: Translate Program-Footnote-1690350 -Ref: Translate Program-Footnote-2690578 -Node: Labels Program690712 -Ref: Labels Program-Footnote-1694003 -Node: Word Sorting694087 -Node: History Sorting698434 -Node: Extract Program700272 -Node: Simple Sed707635 -Node: Igawk Program710696 -Ref: Igawk Program-Footnote-1725431 -Ref: Igawk Program-Footnote-2725632 -Node: Signature Program725770 -Node: Debugger726850 -Node: Debugging727726 -Node: Debugging Concepts728040 -Node: Debugging Terms729893 -Node: Awk Debugging732441 -Node: Sample dgawk session733333 -Node: dgawk invocation733825 -Node: Finding The Bug735009 -Node: List of Debugger Commands741540 -Node: Breakpoint Control742855 -Node: Dgawk Execution Control746065 -Node: Viewing And Changing Data749414 -Node: Dgawk Stack752710 -Node: Dgawk Info754171 -Node: Miscellaneous Dgawk Commands758109 -Node: Readline Support763825 -Node: Dgawk Limitations764641 -Node: Language History766813 -Node: V7/SVR3.1768190 -Node: SVR4770485 -Node: POSIX771930 -Node: BTL773642 -Node: POSIX/GNU775332 -Node: Contributors785138 -Node: Installation788747 -Node: Gawk Distribution789718 -Node: Getting790202 -Node: Extracting791028 -Node: Distribution contents792416 -Node: Unix Installation797489 -Node: Quick Installation798080 -Node: Additional Configuration Options799782 -Node: Configuration Philosophy801545 -Node: Non-Unix Installation803909 -Node: PC Installation804374 -Node: PC Binary Installation805680 -Node: PC Compiling807523 -Node: PC Dynamic812028 -Node: PC Using814391 -Node: Cygwin818939 -Node: MSYS819923 -Node: VMS Installation820429 -Node: VMS Compilation821033 -Node: VMS Installation Details822610 -Node: VMS Running824240 -Node: VMS POSIX825837 -Node: VMS Old Gawk827135 -Node: Unsupported827604 -Node: Atari Installation828066 -Node: Atari Compiling829353 -Node: Atari Using831242 -Node: BeOS Installation834089 -Node: Tandem Installation835234 -Node: Bugs836913 -Node: Other Versions840745 -Node: Notes846108 -Node: Compatibility Mode846800 -Node: Additions847583 -Node: Adding Code848333 -Node: New Ports854385 -Node: Dynamic Extensions858517 -Node: Internals859898 -Node: Plugin License870303 -Node: Sample Library870937 -Node: Internal File Description871601 -Node: Internal File Ops875296 -Ref: Internal File Ops-Footnote-1880172 -Node: Using Internal File Ops880320 -Node: Future Extensions882345 -Node: Basic Concepts886382 -Node: Basic High Level887139 -Ref: Basic High Level-Footnote-1891258 -Node: Basic Data Typing891452 -Node: Floating Point Issues895889 -Node: String Conversion Precision896972 -Ref: String Conversion Precision-Footnote-1898666 -Node: Unexpected Results898775 -Node: POSIX Floating Point Problems900601 -Ref: POSIX Floating Point Problems-Footnote-1904300 -Node: Glossary904338 -Node: Copying928121 -Node: GNU Free Documentation License965678 -Node: next-edition990822 -Node: unresolved991174 -Node: revision991674 -Node: consistency992097 -Node: Index995450 +Node: Sample Data Files75828 +Node: Very Simple78860 +Node: Two Rules83457 +Node: More Complex85604 +Ref: More Complex-Footnote-188534 +Node: Statements/Lines88614 +Ref: Statements/Lines-Footnote-192972 +Node: Other Features93237 +Node: When94106 +Node: Invoking Gawk96249 +Node: Command Line97634 +Node: Options98417 +Ref: Options-Footnote-1111613 +Node: Other Arguments111638 +Node: Naming Standard Input114301 +Node: Environment Variables115265 +Node: AWKPATH Variable115709 +Ref: AWKPATH Variable-Footnote-1118446 +Node: Other Environment Variables118706 +Node: Exit Status121054 +Node: Include Files121729 +Node: Obsolete125120 +Node: Undocumented125806 +Node: Regexp126047 +Node: Regexp Usage127499 +Node: Escape Sequences129525 +Node: Regexp Operators135268 +Ref: Regexp Operators-Footnote-1142440 +Ref: Regexp Operators-Footnote-2142587 +Node: Character Lists142685 +Ref: table-char-classes144460 +Node: GNU Regexp Operators147085 +Node: Case-sensitivity150798 +Ref: Case-sensitivity-Footnote-1153753 +Ref: Case-sensitivity-Footnote-2153988 +Node: Leftmost Longest154096 +Node: Computed Regexps155297 +Node: Locales158714 +Node: Reading Files162256 +Node: Records164197 +Ref: Records-Footnote-1172763 +Node: Fields172800 +Ref: Fields-Footnote-1175832 +Node: Nonconstant Fields175918 +Node: Changing Fields178120 +Node: Field Separators183405 +Node: Default Field Splitting186034 +Node: Regexp Field Splitting187151 +Node: Single Character Fields190501 +Node: Command Line Field Separator191552 +Node: Field Splitting Summary194991 +Ref: Field Splitting Summary-Footnote-1198177 +Node: Constant Size198278 +Node: Splitting By Content202840 +Ref: Splitting By Content-Footnote-1206566 +Node: Multiple Line206606 +Ref: Multiple Line-Footnote-1212346 +Node: Getline212525 +Node: Plain Getline214753 +Node: Getline/Variable216842 +Node: Getline/File217983 +Node: Getline/Variable/File219305 +Ref: Getline/Variable/File-Footnote-1220904 +Node: Getline/Pipe220991 +Node: Getline/Variable/Pipe223539 +Node: Getline/Coprocess224646 +Node: Getline/Variable/Coprocess225889 +Node: Getline Notes226603 +Node: Getline Summary228545 +Ref: table-getline-variants228829 +Node: Command line directories229734 +Node: Printing230359 +Node: Print231990 +Node: Print Examples233327 +Node: Output Separators236111 +Node: OFMT237870 +Node: Printf239228 +Node: Basic Printf240134 +Node: Control Letters241671 +Node: Format Modifiers245483 +Node: Printf Examples251494 +Node: Redirection254209 +Node: Special Files261187 +Node: Special FD261720 +Ref: Special FD-Footnote-1265295 +Node: Special Network265369 +Node: Special Caveats266224 +Node: Close Files And Pipes267018 +Ref: Close Files And Pipes-Footnote-1273962 +Ref: Close Files And Pipes-Footnote-2274110 +Node: Expressions274260 +Node: Values275329 +Node: Constants276005 +Node: Scalar Constants276685 +Ref: Scalar Constants-Footnote-1277544 +Node: Nondecimal-numbers277726 +Node: Regexp Constants280785 +Node: Using Constant Regexps281260 +Node: Variables284265 +Node: Using Variables284920 +Node: Assignment Options286647 +Node: Conversion288528 +Ref: table-locale-affects293902 +Ref: Conversion-Footnote-1294526 +Node: All Operators294635 +Node: Arithmetic Ops295265 +Node: Concatenation297764 +Ref: Concatenation-Footnote-1300557 +Node: Assignment Ops300676 +Ref: table-assign-ops305664 +Node: Increment Ops307065 +Node: Truth Values and Conditions310543 +Node: Truth Values311626 +Node: Typing and Comparison312674 +Node: Variable Typing313463 +Ref: Variable Typing-Footnote-1317360 +Node: Comparison Operators317482 +Ref: table-relational-ops317892 +Node: POSIX String Comparison321441 +Ref: POSIX String Comparison-Footnote-1322398 +Node: Boolean Ops322536 +Ref: Boolean Ops-Footnote-1326614 +Node: Conditional Exp326705 +Node: Function Calls328437 +Node: Precedence331996 +Node: Patterns and Actions335649 +Node: Pattern Overview336703 +Node: Regexp Patterns338369 +Node: Expression Patterns338912 +Node: Ranges342486 +Node: BEGIN/END345452 +Node: Using BEGIN/END346202 +Ref: Using BEGIN/END-Footnote-1348933 +Node: I/O And BEGIN/END349047 +Node: Empty351316 +Node: BEGINFILE/ENDFILE351650 +Node: Using Shell Variables354475 +Node: Action Overview356754 +Node: Statements359111 +Node: If Statement360970 +Node: While Statement362469 +Node: Do Statement364513 +Node: For Statement365669 +Node: Switch Statement368821 +Node: Break Statement370918 +Node: Continue Statement372894 +Node: Next Statement374595 +Node: Nextfile Statement376977 +Node: Exit Statement379495 +Node: Built-in Variables381826 +Node: User-modified382921 +Ref: User-modified-Footnote-1390922 +Node: Auto-set390984 +Ref: Auto-set-Footnote-1399967 +Node: ARGC and ARGV400172 +Node: Arrays403931 +Node: Array Basics405502 +Node: Array Intro406213 +Node: Reference to Elements410531 +Node: Assigning Elements412801 +Node: Array Example413292 +Node: Scanning an Array415024 +Node: Delete417301 +Ref: Delete-Footnote-1419699 +Node: Numeric Array Subscripts419756 +Node: Uninitialized Subscripts421939 +Node: Multi-dimensional423567 +Node: Multi-scanning426658 +Node: Array Sorting428242 +Ref: Array Sorting-Footnote-1431440 +Node: Arrays of Arrays431634 +Node: Functions435796 +Node: Built-in436618 +Node: Calling Built-in437632 +Node: Numeric Functions439608 +Ref: Numeric Functions-Footnote-1443317 +Ref: Numeric Functions-Footnote-2443653 +Ref: Numeric Functions-Footnote-3443701 +Node: String Functions443970 +Ref: String Functions-Footnote-1465769 +Ref: String Functions-Footnote-2465898 +Ref: String Functions-Footnote-3466146 +Node: Gory Details466233 +Ref: table-sub-escapes467890 +Ref: table-posix-sub469204 +Ref: table-gensub-escapes470104 +Node: I/O Functions471275 +Ref: I/O Functions-Footnote-1477972 +Node: Time Functions478119 +Ref: Time Functions-Footnote-1488986 +Ref: Time Functions-Footnote-2489054 +Ref: Time Functions-Footnote-3489212 +Ref: Time Functions-Footnote-4489323 +Ref: Time Functions-Footnote-5489435 +Ref: Time Functions-Footnote-6489662 +Node: Bitwise Functions489928 +Ref: table-bitwise-ops490486 +Ref: Bitwise Functions-Footnote-1494646 +Node: I18N Functions494830 +Node: User-defined496460 +Node: Definition Syntax497264 +Ref: Definition Syntax-Footnote-1501894 +Node: Function Example501963 +Node: Function Caveats504557 +Node: Calling A Function504978 +Node: Variable Scope506067 +Node: Pass By Value/Reference507995 +Node: Return Statement511435 +Node: Dynamic Typing514377 +Node: Indirect Calls515114 +Node: Internationalization524799 +Node: I18N and L10N526227 +Node: Explaining gettext526913 +Ref: Explaining gettext-Footnote-1531975 +Ref: Explaining gettext-Footnote-2532158 +Node: Programmer i18n532323 +Node: Translator i18n536586 +Node: String Extraction537379 +Ref: String Extraction-Footnote-1538340 +Node: Printf Ordering538426 +Ref: Printf Ordering-Footnote-1541210 +Node: I18N Portability541274 +Ref: I18N Portability-Footnote-1543723 +Node: I18N Example543786 +Ref: I18N Example-Footnote-1546421 +Node: Gawk I18N546493 +Node: Advanced Features547062 +Node: Nondecimal Data548381 +Node: Two-way I/O549942 +Ref: Two-way I/O-Footnote-1555356 +Node: TCP/IP Networking555433 +Node: Profiling558205 +Node: Library Functions565605 +Ref: Library Functions-Footnote-1568575 +Node: Library Names568746 +Ref: Library Names-Footnote-1572217 +Ref: Library Names-Footnote-2572437 +Node: General Functions572523 +Node: Nextfile Function573586 +Node: Strtonum Function577967 +Node: Assert Function580918 +Node: Round Function584244 +Node: Cliff Random Function585785 +Node: Ordinal Functions586801 +Ref: Ordinal Functions-Footnote-1589871 +Ref: Ordinal Functions-Footnote-2590123 +Node: Join Function590339 +Ref: Join Function-Footnote-1592110 +Node: Gettimeofday Function592310 +Node: Data File Management596025 +Node: Filetrans Function596657 +Node: Rewind Function600894 +Node: File Checking602347 +Node: Empty Files603441 +Node: Ignoring Assigns605671 +Node: Getopt Function607224 +Ref: Getopt Function-Footnote-1618549 +Node: Passwd Functions618752 +Ref: Passwd Functions-Footnote-1627740 +Node: Group Functions627828 +Node: Sample Programs635908 +Node: Running Examples636573 +Node: Clones637301 +Node: Cut Program638424 +Node: Egrep Program648265 +Ref: Egrep Program-Footnote-1656036 +Node: Id Program656146 +Node: Split Program659762 +Ref: Split Program-Footnote-1663281 +Node: Tee Program663409 +Node: Uniq Program666212 +Node: Wc Program673635 +Ref: Wc Program-Footnote-1677899 +Node: Miscellaneous Programs678099 +Node: Dupword Program679219 +Node: Alarm Program681250 +Node: Translate Program685972 +Ref: Translate Program-Footnote-1690351 +Ref: Translate Program-Footnote-2690579 +Node: Labels Program690713 +Ref: Labels Program-Footnote-1694004 +Node: Word Sorting694088 +Node: History Sorting698435 +Node: Extract Program700273 +Node: Simple Sed707636 +Node: Igawk Program710697 +Ref: Igawk Program-Footnote-1725432 +Ref: Igawk Program-Footnote-2725633 +Node: Signature Program725771 +Node: Debugger726851 +Node: Debugging727727 +Node: Debugging Concepts728041 +Node: Debugging Terms729894 +Node: Awk Debugging732442 +Node: Sample dgawk session733334 +Node: dgawk invocation733826 +Node: Finding The Bug735010 +Node: List of Debugger Commands741541 +Node: Breakpoint Control742856 +Node: Dgawk Execution Control746066 +Node: Viewing And Changing Data749415 +Node: Dgawk Stack752711 +Node: Dgawk Info754172 +Node: Miscellaneous Dgawk Commands758110 +Node: Readline Support763826 +Node: Dgawk Limitations764642 +Node: Language History766814 +Node: V7/SVR3.1768191 +Node: SVR4770486 +Node: POSIX771931 +Node: BTL773643 +Node: POSIX/GNU775333 +Node: Contributors785139 +Node: Installation788748 +Node: Gawk Distribution789719 +Node: Getting790203 +Node: Extracting791029 +Node: Distribution contents792417 +Node: Unix Installation797490 +Node: Quick Installation798081 +Node: Additional Configuration Options799783 +Node: Configuration Philosophy801546 +Node: Non-Unix Installation803910 +Node: PC Installation804375 +Node: PC Binary Installation805650 +Node: PC Compiling807493 +Node: PC Testing810899 +Node: PC Using811720 +Node: Cygwin815887 +Node: MSYS816880 +Node: VMS Installation817388 +Node: VMS Compilation817992 +Node: VMS Installation Details819569 +Node: VMS Running821199 +Node: VMS POSIX822796 +Node: VMS Old Gawk824094 +Node: Unsupported824563 +Node: Atari Installation825025 +Node: Atari Compiling826312 +Node: Atari Using828201 +Node: BeOS Installation831048 +Node: Tandem Installation832193 +Node: Bugs833872 +Node: Other Versions837704 +Node: Notes843067 +Node: Compatibility Mode843759 +Node: Additions844542 +Node: Adding Code845292 +Node: New Ports851344 +Node: Dynamic Extensions855476 +Node: Internals856857 +Node: Plugin License867262 +Node: Sample Library867896 +Node: Internal File Description868560 +Node: Internal File Ops872255 +Ref: Internal File Ops-Footnote-1877131 +Node: Using Internal File Ops877279 +Node: Future Extensions879304 +Node: Basic Concepts883341 +Node: Basic High Level884098 +Ref: Basic High Level-Footnote-1888217 +Node: Basic Data Typing888411 +Node: Floating Point Issues892848 +Node: String Conversion Precision893931 +Ref: String Conversion Precision-Footnote-1895625 +Node: Unexpected Results895734 +Node: POSIX Floating Point Problems897560 +Ref: POSIX Floating Point Problems-Footnote-1901259 +Node: Glossary901297 +Node: Copying925080 +Node: GNU Free Documentation License962637 +Node: next-edition987781 +Node: unresolved988133 +Node: revision988633 +Node: consistency989056 +Node: Index992409 End Tag Table |