diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2011-07-17 21:57:22 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2011-07-17 21:57:22 +0300 |
commit | fc1faaf1d1cba338f876c36d1a374e15199af9aa (patch) | |
tree | da0fc1cd31244aad6850c379fb319aa84310656b | |
parent | 580aca5b46678fe0cdd341048bd10a36cca090c9 (diff) | |
download | egawk-fc1faaf1d1cba338f876c36d1a374e15199af9aa.tar.gz egawk-fc1faaf1d1cba338f876c36d1a374e15199af9aa.tar.bz2 egawk-fc1faaf1d1cba338f876c36d1a374e15199af9aa.zip |
Minor doc updates, start working through huge backlog.
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | README | 6 | ||||
-rw-r--r-- | doc/ChangeLog | 12 | ||||
-rw-r--r-- | doc/gawk.info | 867 | ||||
-rw-r--r-- | doc/gawk.texi | 12 |
5 files changed, 463 insertions, 435 deletions
@@ -6,6 +6,7 @@ Bruno Haible. * dfa.c: Sync with GNU grep. * xalloc.h (xzalloc): New function, from GNU grep, for dfa.c. + * README: Note that bug list is really a real mailing list. 2011-07-16 Arnold D. Robbins <arnold@skeeve.com> @@ -65,9 +65,9 @@ the section in the manual on reporting bugs. Note that comp.lang.awk is about the worst place to post a gawk bug report. Please, use the mechanisms outlined in the manual. -Email should be sent to bug-gawk@gnu.org. This address sends mail to -Arnold Robbins and the general GNU utilities bug list. The advantage -to using this address is that bug reports are archived at GNU Central. +Email should be sent to bug-gawk@gnu.org. This is now a separate mailing +list at GNU Central. The advantage to using this address is that bug +reports are archived at GNU Central. Arnold Robbins diff --git a/doc/ChangeLog b/doc/ChangeLog index 2ae225be..f5614e73 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,15 @@ +2011-07-17 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Add reference in node Expressions to node Precedence, + based on suggestion from Dan Jacobson dated 4 Jun 2001. + +2011-07-17 Paul Eggert <eggert@twinsun.com> + + * gawk.texi: Warn up-front (indirectly) that plain gawk is not + compatible with SVR4 awk and with POSIX awk. Describe how + gawk differs from the GNU standard in its interpretation of + POSIXLY_CORRECT. (From mail dated 15 May 2001). + 2011-06-24 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (EXTRA_DIST): Add ChangeLog.0. diff --git a/doc/gawk.info b/doc/gawk.info index 3dd9d731..d4885eb1 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -654,12 +654,13 @@ inconvenient. Such jobs are often easier with `awk'. The `awk' utility interprets a special-purpose programming language that makes it easy to handle simple data-reformatting jobs. - The GNU implementation of `awk' is called `gawk'; it is fully -compatible with the POSIX(1) specification of the `awk' language and -with the Unix version of `awk' maintained by Brian Kernighan. This -means that all properly written `awk' programs should work with `gawk'. -Thus, we usually don't distinguish between `gawk' and other `awk' -implementations. + The GNU implementation of `awk' is called `gawk'; if you invoke it +with the proper options or environment variables (*note Options::), it +is fully compatible with the POSIX(1) specification of the `awk' +language and with the Unix version of `awk' maintained by Brian +Kernighan. This means that all properly written `awk' programs should +work with `gawk'. Thus, we usually don't distinguish between `gawk' +and other `awk' implementations. Using `awk' allows you to: @@ -2443,12 +2444,15 @@ source code. If the environment variable `POSIXLY_CORRECT' exists, then `gawk' behaves in strict POSIX mode, exactly as if you had supplied the `--posix' command-line option. Many GNU programs look for this -environment variable to turn on strict POSIX mode. If `--lint' is -supplied on the command line and `gawk' turns on POSIX mode because of -`POSIXLY_CORRECT', then it issues a warning message indicating that -POSIX mode is in effect. You would typically set this variable in your -shell's startup file. For a Bourne-compatible shell (such as Bash), -you would add these lines to the `.profile' file in your home directory: +environment variable to suppress extensions that conflict with POSIX, +but `gawk' behaves differently: it suppresses all extensions, even +those that do not conflict with POSIX, and behaves in strict POSIX +mode. If `--lint' is supplied on the command line and `gawk' turns on +POSIX mode because of `POSIXLY_CORRECT', then it issues a warning +message indicating that POSIX mode is in effect. You would typically +set this variable in your shell's startup file. For a +Bourne-compatible shell (such as Bash), you would add these lines to +the `.profile' file in your home directory: POSIXLY_CORRECT=true export POSIXLY_CORRECT @@ -8109,6 +8113,9 @@ inside Boolean patterns. Likewise, the special patterns `BEGIN', `END', `BEGINFILE' and `ENDFILE', which never match any input record, are not expressions and cannot appear inside Boolean patterns. + The precedence of the different operators which can appear in +patterns is described in *note Precedence::. + File: gawk.info, Node: Ranges, Next: BEGIN/END, Prev: Expression Patterns, Up: Pattern Overview @@ -24992,7 +24999,7 @@ Index (line 6) * awk, function of: Getting Started. (line 6) * awk, gawk and <1>: This Manual. (line 14) -* awk, gawk and: Preface. (line 22) +* awk, gawk and: Preface. (line 23) * awk, history of: History. (line 17) * awk, implementation issues, pipes: Redirection. (line 135) * awk, implementations: Other Versions. (line 6) @@ -25000,15 +25007,15 @@ Index * awk, invoking: Command Line. (line 6) * awk, new vs. old: Names. (line 6) * awk, new vs. old, OFMT variable: Conversion. (line 55) -* awk, POSIX and: Preface. (line 22) -* awk, POSIX and, See Also POSIX awk: Preface. (line 22) +* awk, POSIX and: Preface. (line 23) +* awk, POSIX and, See Also POSIX awk: Preface. (line 23) * awk, regexp constants and: Comparison Operators. (line 103) -* awk, See Also gawk: Preface. (line 35) +* awk, See Also gawk: Preface. (line 36) * awk, terms describing: This Manual. (line 6) * awk, uses for <1>: When. (line 6) * awk, uses for <2>: Getting Started. (line 12) -* awk, uses for: Preface. (line 22) +* awk, uses for: Preface. (line 23) * awk, versions of <1>: V7/SVR3.1. (line 6) * awk, versions of: Names. (line 10) * awk, versions of, changes between SVR3.1 and SVR4: SVR4. (line 6) @@ -25323,7 +25330,7 @@ Index * cos() function: Numeric Functions. (line 14) * counting: Wc Program. (line 6) * csh utility: Statements/Lines. (line 44) -* csh utility, POSIXLY_CORRECT environment variable: Options. (line 302) +* csh utility, POSIXLY_CORRECT environment variable: Options. (line 305) * csh utility, |& operator, comparison with: Two-way I/O. (line 44) * ctime() user-defined function: Function Example. (line 72) * currency symbols, localization: Explaining gettext. (line 103) @@ -25932,7 +25939,7 @@ Index * Garfinkle, Scott: Contributors. (line 35) * gawk, ARGIND variable in: Other Arguments. (line 12) * gawk, awk and <1>: This Manual. (line 14) -* gawk, awk and: Preface. (line 22) +* gawk, awk and: Preface. (line 23) * gawk, bitwise operations in: Bitwise Functions. (line 39) * gawk, break statement in: Break Statement. (line 51) * gawk, built-in variables and: Built-in Variables. (line 14) @@ -26013,13 +26020,13 @@ Index (line 10) * gawk, RT variable in <3>: Multiple Line. (line 129) * gawk, RT variable in: Records. (line 112) -* gawk, See Also awk: Preface. (line 35) +* gawk, See Also awk: Preface. (line 36) * gawk, source code, obtaining: Getting. (line 6) * gawk, splitting fields and: Constant Size. (line 87) * gawk, string-translation functions: I18N Functions. (line 6) * gawk, TEXTDOMAIN variable in: User-modified. (line 153) * gawk, timestamps: Time Functions. (line 6) -* gawk, uses for: Preface. (line 35) +* gawk, uses for: Preface. (line 36) * gawk, versions of, information about, printing: Options. (line 250) * gawk, VMS version of: VMS Installation. (line 6) * gawk, word-boundary operator: GNU Regexp Operators. @@ -26074,7 +26081,7 @@ Index * gettimeofday() user-defined function: Gettimeofday Function. (line 16) * GNITS mailing list: Acknowledgments. (line 52) -* GNU awk, See gawk: Preface. (line 48) +* GNU awk, See gawk: Preface. (line 49) * GNU Free Documentation License: GNU Free Documentation License. (line 6) * GNU General Public License: Glossary. (line 310) @@ -26642,7 +26649,7 @@ Index * portability, NF variable, decrementing: Changing Fields. (line 115) * portability, operators: Increment Ops. (line 61) * portability, operators, not in POSIX awk: Precedence. (line 98) -* portability, POSIXLY_CORRECT environment variable: Options. (line 307) +* portability, POSIXLY_CORRECT environment variable: Options. (line 310) * portability, substr() function: String Functions. (line 512) * portable object files <1>: Translator i18n. (line 6) * portable object files: Explaining gettext. (line 36) @@ -26692,7 +26699,7 @@ Index * POSIX awk, timestamps and: Time Functions. (line 6) * POSIX awk, | I/O operator and: Getline/Pipe. (line 52) * POSIX mode: Options. (line 199) -* POSIX, awk and: Preface. (line 22) +* POSIX, awk and: Preface. (line 23) * POSIX, gawk extensions not included in: POSIX/GNU. (line 6) * POSIX, programs, implementing in awk: Clones. (line 6) * POSIXLY_CORRECT environment variable: Options. (line 289) @@ -27364,411 +27371,411 @@ Tag Table: Node: Top1346 Node: Foreword33440 Node: Preface37785 -Ref: Preface-Footnote-140752 -Ref: Preface-Footnote-240858 -Node: History41090 -Node: Names43481 -Ref: Names-Footnote-144958 -Node: This Manual45030 -Ref: This Manual-Footnote-149977 -Node: Conventions50077 -Node: Manual History52211 -Ref: Manual History-Footnote-155481 -Ref: Manual History-Footnote-255522 -Node: How To Contribute55596 -Node: Acknowledgments56740 -Node: Getting Started61071 -Node: Running gawk63450 -Node: One-shot64636 -Node: Read Terminal65861 -Ref: Read Terminal-Footnote-167511 -Ref: Read Terminal-Footnote-267787 -Node: Long67958 -Node: Executable Scripts69334 -Ref: Executable Scripts-Footnote-171203 -Ref: Executable Scripts-Footnote-271305 -Node: Comments71756 -Node: Quoting74223 -Node: DOS Quoting78846 -Node: Sample Data Files79521 -Node: Very Simple82553 -Node: Two Rules87152 -Node: More Complex89299 -Ref: More Complex-Footnote-192229 -Node: Statements/Lines92314 -Ref: Statements/Lines-Footnote-196776 -Node: Other Features97041 -Node: When97969 -Node: Invoking Gawk100116 -Node: Command Line101501 -Node: Options102284 -Ref: Options-Footnote-1115562 -Node: Other Arguments115587 -Node: Naming Standard Input118245 -Node: Environment Variables119339 -Node: AWKPATH Variable119783 -Ref: AWKPATH Variable-Footnote-1122380 -Node: Other Environment Variables122640 -Node: Exit Status124980 -Node: Include Files125655 -Node: Obsolete129140 -Node: Undocumented129826 -Node: Regexp130067 -Node: Regexp Usage131456 -Node: Escape Sequences133482 -Node: Regexp Operators139245 -Ref: Regexp Operators-Footnote-1146442 -Ref: Regexp Operators-Footnote-2146589 -Node: Bracket Expressions146687 -Ref: table-char-classes148577 -Node: GNU Regexp Operators151100 -Node: Case-sensitivity154823 -Ref: Case-sensitivity-Footnote-1157791 -Ref: Case-sensitivity-Footnote-2158026 -Node: Leftmost Longest158134 -Node: Computed Regexps159335 -Node: Reading Files162745 -Node: Records164686 -Ref: Records-Footnote-1173360 -Node: Fields173397 -Ref: Fields-Footnote-1176430 -Node: Nonconstant Fields176516 -Node: Changing Fields178718 -Node: Field Separators184696 -Node: Default Field Splitting187325 -Node: Regexp Field Splitting188442 -Node: Single Character Fields191784 -Node: Command Line Field Separator192843 -Node: Field Splitting Summary196284 -Ref: Field Splitting Summary-Footnote-1199476 -Node: Constant Size199577 -Node: Splitting By Content204161 -Ref: Splitting By Content-Footnote-1207887 -Node: Multiple Line207927 -Ref: Multiple Line-Footnote-1213774 -Node: Getline213953 -Node: Plain Getline216181 -Node: Getline/Variable218270 -Node: Getline/File219411 -Node: Getline/Variable/File220733 -Ref: Getline/Variable/File-Footnote-1222332 -Node: Getline/Pipe222419 -Node: Getline/Variable/Pipe224979 -Node: Getline/Coprocess226086 -Node: Getline/Variable/Coprocess227329 -Node: Getline Notes228043 -Node: Getline Summary229985 -Ref: table-getline-variants230328 -Node: Command line directories231184 -Node: Printing231809 -Node: Print233440 -Node: Print Examples234777 -Node: Output Separators237561 -Node: OFMT239321 -Node: Printf240679 -Node: Basic Printf241585 -Node: Control Letters243124 -Node: Format Modifiers246936 -Node: Printf Examples252945 -Node: Redirection255660 -Node: Special Files262644 -Node: Special FD263177 -Ref: Special FD-Footnote-1266802 -Node: Special Network266876 -Node: Special Caveats267726 -Node: Close Files And Pipes268522 -Ref: Close Files And Pipes-Footnote-1275545 -Ref: Close Files And Pipes-Footnote-2275693 -Node: Expressions275843 -Node: Values276975 -Node: Constants277651 -Node: Scalar Constants278331 -Ref: Scalar Constants-Footnote-1279190 -Node: Nondecimal-numbers279372 -Node: Regexp Constants282431 -Node: Using Constant Regexps282906 -Node: Variables285961 -Node: Using Variables286616 -Node: Assignment Options288340 -Node: Conversion290212 -Ref: table-locale-affects295588 -Ref: Conversion-Footnote-1296212 -Node: All Operators296321 -Node: Arithmetic Ops296951 -Node: Concatenation299456 -Ref: Concatenation-Footnote-1302249 -Node: Assignment Ops302369 -Ref: table-assign-ops307357 -Node: Increment Ops308765 -Node: Truth Values and Conditions312235 -Node: Truth Values313318 -Node: Typing and Comparison314367 -Node: Variable Typing315156 -Ref: Variable Typing-Footnote-1319053 -Node: Comparison Operators319175 -Ref: table-relational-ops319585 -Node: POSIX String Comparison323134 -Ref: POSIX String Comparison-Footnote-1324090 -Node: Boolean Ops324228 -Ref: Boolean Ops-Footnote-1328306 -Node: Conditional Exp328397 -Node: Function Calls330129 -Node: Precedence333723 -Node: Locales337392 -Node: Patterns and Actions338481 -Node: Pattern Overview339535 -Node: Regexp Patterns341201 -Node: Expression Patterns341744 -Node: Ranges345318 -Node: BEGIN/END348284 -Node: Using BEGIN/END349046 -Ref: Using BEGIN/END-Footnote-1351777 -Node: I/O And BEGIN/END351883 -Node: BEGINFILE/ENDFILE354165 -Node: Empty356998 -Node: Using Shell Variables357314 -Node: Action Overview359599 -Node: Statements361956 -Node: If Statement363810 -Node: While Statement365309 -Node: Do Statement367353 -Node: For Statement368509 -Node: Switch Statement371661 -Node: Break Statement373758 -Node: Continue Statement375748 -Node: Next Statement377535 -Node: Nextfile Statement379925 -Node: Exit Statement382222 -Node: Built-in Variables384638 -Node: User-modified385733 -Ref: User-modified-Footnote-1393759 -Node: Auto-set393821 -Ref: Auto-set-Footnote-1403112 -Node: ARGC and ARGV403317 -Node: Arrays407168 -Node: Array Basics408673 -Node: Array Intro409384 -Node: Reference to Elements413702 -Node: Assigning Elements415972 -Node: Array Example416463 -Node: Scanning an Array418195 -Node: Delete420861 -Ref: Delete-Footnote-1423296 -Node: Numeric Array Subscripts423353 -Node: Uninitialized Subscripts425536 -Node: Multi-dimensional427164 -Node: Multi-scanning430258 -Node: Arrays of Arrays431842 -Node: Functions436419 -Node: Built-in437241 -Node: Calling Built-in438319 -Node: Numeric Functions440307 -Ref: Numeric Functions-Footnote-1444072 -Ref: Numeric Functions-Footnote-2444429 -Ref: Numeric Functions-Footnote-3444477 -Node: String Functions444746 -Ref: String Functions-Footnote-1468243 -Ref: String Functions-Footnote-2468372 -Ref: String Functions-Footnote-3468620 -Node: Gory Details468707 -Ref: table-sub-escapes470386 -Ref: table-posix-sub471700 -Ref: table-gensub-escapes472613 -Node: I/O Functions473784 -Ref: I/O Functions-Footnote-1480439 -Node: Time Functions480586 -Ref: Time Functions-Footnote-1491478 -Ref: Time Functions-Footnote-2491546 -Ref: Time Functions-Footnote-3491704 -Ref: Time Functions-Footnote-4491815 -Ref: Time Functions-Footnote-5491927 -Ref: Time Functions-Footnote-6492154 -Node: Bitwise Functions492420 -Ref: table-bitwise-ops492978 -Ref: Bitwise Functions-Footnote-1497138 -Node: Type Functions497322 -Node: I18N Functions497792 -Node: User-defined499419 -Node: Definition Syntax500223 -Ref: Definition Syntax-Footnote-1505133 -Node: Function Example505202 -Node: Function Caveats507796 -Node: Calling A Function508217 -Node: Variable Scope509332 -Node: Pass By Value/Reference511307 -Node: Return Statement514747 -Node: Dynamic Typing517728 -Node: Indirect Calls518463 -Node: Internationalization528148 -Node: I18N and L10N529574 -Node: Explaining gettext530260 -Ref: Explaining gettext-Footnote-1535326 -Ref: Explaining gettext-Footnote-2535510 -Node: Programmer i18n535675 -Node: Translator i18n539875 -Node: String Extraction540668 -Ref: String Extraction-Footnote-1541629 -Node: Printf Ordering541715 -Ref: Printf Ordering-Footnote-1544499 -Node: I18N Portability544563 -Ref: I18N Portability-Footnote-1547012 -Node: I18N Example547075 -Ref: I18N Example-Footnote-1549710 -Node: Gawk I18N549782 -Node: Advanced Features550399 -Node: Nondecimal Data551912 -Node: Array Sorting553495 -Node: Controlling Array Traversal554195 -Node: Controlling Scanning With A Function554942 -Node: Controlling Scanning562645 -Ref: Controlling Scanning-Footnote-1566446 -Node: Array Sorting Functions566762 -Ref: Array Sorting Functions-Footnote-1570278 -Ref: Array Sorting Functions-Footnote-2570371 -Node: Two-way I/O570565 -Ref: Two-way I/O-Footnote-1575997 -Node: TCP/IP Networking576067 -Node: Profiling578911 -Node: Library Functions586385 -Ref: Library Functions-Footnote-1589392 -Node: Library Names589563 -Ref: Library Names-Footnote-1593034 -Ref: Library Names-Footnote-2593254 -Node: General Functions593340 -Node: Strtonum Function594293 -Node: Assert Function597223 -Node: Round Function600549 -Node: Cliff Random Function602092 -Node: Ordinal Functions603108 -Ref: Ordinal Functions-Footnote-1606178 -Ref: Ordinal Functions-Footnote-2606430 -Node: Join Function606639 -Ref: Join Function-Footnote-1608410 -Node: Gettimeofday Function608610 -Node: Data File Management612325 -Node: Filetrans Function612957 -Node: Rewind Function617096 -Node: File Checking618483 -Node: Empty Files619577 -Node: Ignoring Assigns621807 -Node: Getopt Function623360 -Ref: Getopt Function-Footnote-1634664 -Node: Passwd Functions634867 -Ref: Passwd Functions-Footnote-1643842 -Node: Group Functions643930 -Node: Walking Arrays652014 -Node: Sample Programs653583 -Node: Running Examples654248 -Node: Clones654976 -Node: Cut Program656200 -Node: Egrep Program666045 -Ref: Egrep Program-Footnote-1673818 -Node: Id Program673928 -Node: Split Program677544 -Ref: Split Program-Footnote-1681063 -Node: Tee Program681191 -Node: Uniq Program683994 -Node: Wc Program691423 -Ref: Wc Program-Footnote-1695689 -Ref: Wc Program-Footnote-2695889 -Node: Miscellaneous Programs695981 -Node: Dupword Program697169 -Node: Alarm Program699200 -Node: Translate Program703949 -Ref: Translate Program-Footnote-1708336 -Ref: Translate Program-Footnote-2708564 -Node: Labels Program708698 -Ref: Labels Program-Footnote-1712069 -Node: Word Sorting712153 -Node: History Sorting716037 -Node: Extract Program717876 -Ref: Extract Program-Footnote-1725359 -Node: Simple Sed725487 -Node: Igawk Program728549 -Ref: Igawk Program-Footnote-1743706 -Ref: Igawk Program-Footnote-2743907 -Node: Anagram Program744045 -Node: Signature Program747113 -Node: Debugger748213 -Node: Debugging749124 -Node: Debugging Concepts749537 -Node: Debugging Terms751393 -Node: Awk Debugging754016 -Node: Sample dgawk session754908 -Node: dgawk invocation755400 -Node: Finding The Bug756582 -Node: List of Debugger Commands763068 -Node: Breakpoint Control764379 -Node: Dgawk Execution Control768015 -Node: Viewing And Changing Data771366 -Node: Dgawk Stack774703 -Node: Dgawk Info776163 -Node: Miscellaneous Dgawk Commands780111 -Node: Readline Support785539 -Node: Dgawk Limitations786377 -Node: Language History788566 -Node: V7/SVR3.1790078 -Node: SVR4792399 -Node: POSIX793841 -Node: BTL794849 -Node: POSIX/GNU795583 -Node: Common Extensions800734 -Node: Ranges and Locales801841 -Ref: Ranges and Locales-Footnote-1806448 -Node: Contributors806669 -Node: Installation810931 -Node: Gawk Distribution811825 -Node: Getting812309 -Node: Extracting813135 -Node: Distribution contents814827 -Node: Unix Installation820049 -Node: Quick Installation820666 -Node: Additional Configuration Options822628 -Node: Configuration Philosophy824105 -Node: Non-Unix Installation826447 -Node: PC Installation826905 -Node: PC Binary Installation828204 -Node: PC Compiling830052 -Node: PC Testing832996 -Node: PC Using834172 -Node: Cygwin838357 -Node: MSYS839357 -Node: VMS Installation839871 -Node: VMS Compilation840474 -Ref: VMS Compilation-Footnote-1841481 -Node: VMS Installation Details841539 -Node: VMS Running843174 -Node: VMS Old Gawk844781 -Node: Bugs845255 -Node: Other Versions849108 -Node: Notes854389 -Node: Compatibility Mode855081 -Node: Additions855864 -Node: Accessing The Source856676 -Node: Adding Code858101 -Node: New Ports864068 -Node: Dynamic Extensions868181 -Node: Internals869557 -Node: Plugin License878660 -Node: Sample Library879294 -Node: Internal File Description879980 -Node: Internal File Ops883695 -Ref: Internal File Ops-Footnote-1888476 -Node: Using Internal File Ops888616 -Node: Future Extensions890993 -Node: Basic Concepts893497 -Node: Basic High Level894254 -Ref: Basic High Level-Footnote-1898289 -Node: Basic Data Typing898474 -Node: Floating Point Issues902999 -Node: String Conversion Precision904082 -Ref: String Conversion Precision-Footnote-1905782 -Node: Unexpected Results905891 -Node: POSIX Floating Point Problems907717 -Ref: POSIX Floating Point Problems-Footnote-1911422 -Node: Glossary911460 -Node: Copying936436 -Node: GNU Free Documentation License973993 -Node: Index999130 +Ref: Preface-Footnote-140838 +Ref: Preface-Footnote-240944 +Node: History41176 +Node: Names43567 +Ref: Names-Footnote-145044 +Node: This Manual45116 +Ref: This Manual-Footnote-150063 +Node: Conventions50163 +Node: Manual History52297 +Ref: Manual History-Footnote-155567 +Ref: Manual History-Footnote-255608 +Node: How To Contribute55682 +Node: Acknowledgments56826 +Node: Getting Started61157 +Node: Running gawk63536 +Node: One-shot64722 +Node: Read Terminal65947 +Ref: Read Terminal-Footnote-167597 +Ref: Read Terminal-Footnote-267873 +Node: Long68044 +Node: Executable Scripts69420 +Ref: Executable Scripts-Footnote-171289 +Ref: Executable Scripts-Footnote-271391 +Node: Comments71842 +Node: Quoting74309 +Node: DOS Quoting78932 +Node: Sample Data Files79607 +Node: Very Simple82639 +Node: Two Rules87238 +Node: More Complex89385 +Ref: More Complex-Footnote-192315 +Node: Statements/Lines92400 +Ref: Statements/Lines-Footnote-196862 +Node: Other Features97127 +Node: When98055 +Node: Invoking Gawk100202 +Node: Command Line101587 +Node: Options102370 +Ref: Options-Footnote-1115807 +Node: Other Arguments115832 +Node: Naming Standard Input118490 +Node: Environment Variables119584 +Node: AWKPATH Variable120028 +Ref: AWKPATH Variable-Footnote-1122625 +Node: Other Environment Variables122885 +Node: Exit Status125225 +Node: Include Files125900 +Node: Obsolete129385 +Node: Undocumented130071 +Node: Regexp130312 +Node: Regexp Usage131701 +Node: Escape Sequences133727 +Node: Regexp Operators139490 +Ref: Regexp Operators-Footnote-1146687 +Ref: Regexp Operators-Footnote-2146834 +Node: Bracket Expressions146932 +Ref: table-char-classes148822 +Node: GNU Regexp Operators151345 +Node: Case-sensitivity155068 +Ref: Case-sensitivity-Footnote-1158036 +Ref: Case-sensitivity-Footnote-2158271 +Node: Leftmost Longest158379 +Node: Computed Regexps159580 +Node: Reading Files162990 +Node: Records164931 +Ref: Records-Footnote-1173605 +Node: Fields173642 +Ref: Fields-Footnote-1176675 +Node: Nonconstant Fields176761 +Node: Changing Fields178963 +Node: Field Separators184941 +Node: Default Field Splitting187570 +Node: Regexp Field Splitting188687 +Node: Single Character Fields192029 +Node: Command Line Field Separator193088 +Node: Field Splitting Summary196529 +Ref: Field Splitting Summary-Footnote-1199721 +Node: Constant Size199822 +Node: Splitting By Content204406 +Ref: Splitting By Content-Footnote-1208132 +Node: Multiple Line208172 +Ref: Multiple Line-Footnote-1214019 +Node: Getline214198 +Node: Plain Getline216426 +Node: Getline/Variable218515 +Node: Getline/File219656 +Node: Getline/Variable/File220978 +Ref: Getline/Variable/File-Footnote-1222577 +Node: Getline/Pipe222664 +Node: Getline/Variable/Pipe225224 +Node: Getline/Coprocess226331 +Node: Getline/Variable/Coprocess227574 +Node: Getline Notes228288 +Node: Getline Summary230230 +Ref: table-getline-variants230573 +Node: Command line directories231429 +Node: Printing232054 +Node: Print233685 +Node: Print Examples235022 +Node: Output Separators237806 +Node: OFMT239566 +Node: Printf240924 +Node: Basic Printf241830 +Node: Control Letters243369 +Node: Format Modifiers247181 +Node: Printf Examples253190 +Node: Redirection255905 +Node: Special Files262889 +Node: Special FD263422 +Ref: Special FD-Footnote-1267047 +Node: Special Network267121 +Node: Special Caveats267971 +Node: Close Files And Pipes268767 +Ref: Close Files And Pipes-Footnote-1275790 +Ref: Close Files And Pipes-Footnote-2275938 +Node: Expressions276088 +Node: Values277220 +Node: Constants277896 +Node: Scalar Constants278576 +Ref: Scalar Constants-Footnote-1279435 +Node: Nondecimal-numbers279617 +Node: Regexp Constants282676 +Node: Using Constant Regexps283151 +Node: Variables286206 +Node: Using Variables286861 +Node: Assignment Options288585 +Node: Conversion290457 +Ref: table-locale-affects295833 +Ref: Conversion-Footnote-1296457 +Node: All Operators296566 +Node: Arithmetic Ops297196 +Node: Concatenation299701 +Ref: Concatenation-Footnote-1302494 +Node: Assignment Ops302614 +Ref: table-assign-ops307602 +Node: Increment Ops309010 +Node: Truth Values and Conditions312480 +Node: Truth Values313563 +Node: Typing and Comparison314612 +Node: Variable Typing315401 +Ref: Variable Typing-Footnote-1319298 +Node: Comparison Operators319420 +Ref: table-relational-ops319830 +Node: POSIX String Comparison323379 +Ref: POSIX String Comparison-Footnote-1324335 +Node: Boolean Ops324473 +Ref: Boolean Ops-Footnote-1328551 +Node: Conditional Exp328642 +Node: Function Calls330374 +Node: Precedence333968 +Node: Locales337637 +Node: Patterns and Actions338726 +Node: Pattern Overview339780 +Node: Regexp Patterns341446 +Node: Expression Patterns341989 +Node: Ranges345674 +Node: BEGIN/END348640 +Node: Using BEGIN/END349402 +Ref: Using BEGIN/END-Footnote-1352133 +Node: I/O And BEGIN/END352239 +Node: BEGINFILE/ENDFILE354521 +Node: Empty357354 +Node: Using Shell Variables357670 +Node: Action Overview359955 +Node: Statements362312 +Node: If Statement364166 +Node: While Statement365665 +Node: Do Statement367709 +Node: For Statement368865 +Node: Switch Statement372017 +Node: Break Statement374114 +Node: Continue Statement376104 +Node: Next Statement377891 +Node: Nextfile Statement380281 +Node: Exit Statement382578 +Node: Built-in Variables384994 +Node: User-modified386089 +Ref: User-modified-Footnote-1394115 +Node: Auto-set394177 +Ref: Auto-set-Footnote-1403468 +Node: ARGC and ARGV403673 +Node: Arrays407524 +Node: Array Basics409029 +Node: Array Intro409740 +Node: Reference to Elements414058 +Node: Assigning Elements416328 +Node: Array Example416819 +Node: Scanning an Array418551 +Node: Delete421217 +Ref: Delete-Footnote-1423652 +Node: Numeric Array Subscripts423709 +Node: Uninitialized Subscripts425892 +Node: Multi-dimensional427520 +Node: Multi-scanning430614 +Node: Arrays of Arrays432198 +Node: Functions436775 +Node: Built-in437597 +Node: Calling Built-in438675 +Node: Numeric Functions440663 +Ref: Numeric Functions-Footnote-1444428 +Ref: Numeric Functions-Footnote-2444785 +Ref: Numeric Functions-Footnote-3444833 +Node: String Functions445102 +Ref: String Functions-Footnote-1468599 +Ref: String Functions-Footnote-2468728 +Ref: String Functions-Footnote-3468976 +Node: Gory Details469063 +Ref: table-sub-escapes470742 +Ref: table-posix-sub472056 +Ref: table-gensub-escapes472969 +Node: I/O Functions474140 +Ref: I/O Functions-Footnote-1480795 +Node: Time Functions480942 +Ref: Time Functions-Footnote-1491834 +Ref: Time Functions-Footnote-2491902 +Ref: Time Functions-Footnote-3492060 +Ref: Time Functions-Footnote-4492171 +Ref: Time Functions-Footnote-5492283 +Ref: Time Functions-Footnote-6492510 +Node: Bitwise Functions492776 +Ref: table-bitwise-ops493334 +Ref: Bitwise Functions-Footnote-1497494 +Node: Type Functions497678 +Node: I18N Functions498148 +Node: User-defined499775 +Node: Definition Syntax500579 +Ref: Definition Syntax-Footnote-1505489 +Node: Function Example505558 +Node: Function Caveats508152 +Node: Calling A Function508573 +Node: Variable Scope509688 +Node: Pass By Value/Reference511663 +Node: Return Statement515103 +Node: Dynamic Typing518084 +Node: Indirect Calls518819 +Node: Internationalization528504 +Node: I18N and L10N529930 +Node: Explaining gettext530616 +Ref: Explaining gettext-Footnote-1535682 +Ref: Explaining gettext-Footnote-2535866 +Node: Programmer i18n536031 +Node: Translator i18n540231 +Node: String Extraction541024 +Ref: String Extraction-Footnote-1541985 +Node: Printf Ordering542071 +Ref: Printf Ordering-Footnote-1544855 +Node: I18N Portability544919 +Ref: I18N Portability-Footnote-1547368 +Node: I18N Example547431 +Ref: I18N Example-Footnote-1550066 +Node: Gawk I18N550138 +Node: Advanced Features550755 +Node: Nondecimal Data552268 +Node: Array Sorting553851 +Node: Controlling Array Traversal554551 +Node: Controlling Scanning With A Function555298 +Node: Controlling Scanning563001 +Ref: Controlling Scanning-Footnote-1566802 +Node: Array Sorting Functions567118 +Ref: Array Sorting Functions-Footnote-1570634 +Ref: Array Sorting Functions-Footnote-2570727 +Node: Two-way I/O570921 +Ref: Two-way I/O-Footnote-1576353 +Node: TCP/IP Networking576423 +Node: Profiling579267 +Node: Library Functions586741 +Ref: Library Functions-Footnote-1589748 +Node: Library Names589919 +Ref: Library Names-Footnote-1593390 +Ref: Library Names-Footnote-2593610 +Node: General Functions593696 +Node: Strtonum Function594649 +Node: Assert Function597579 +Node: Round Function600905 +Node: Cliff Random Function602448 +Node: Ordinal Functions603464 +Ref: Ordinal Functions-Footnote-1606534 +Ref: Ordinal Functions-Footnote-2606786 +Node: Join Function606995 +Ref: Join Function-Footnote-1608766 +Node: Gettimeofday Function608966 +Node: Data File Management612681 +Node: Filetrans Function613313 +Node: Rewind Function617452 +Node: File Checking618839 +Node: Empty Files619933 +Node: Ignoring Assigns622163 +Node: Getopt Function623716 +Ref: Getopt Function-Footnote-1635020 +Node: Passwd Functions635223 +Ref: Passwd Functions-Footnote-1644198 +Node: Group Functions644286 +Node: Walking Arrays652370 +Node: Sample Programs653939 +Node: Running Examples654604 +Node: Clones655332 +Node: Cut Program656556 +Node: Egrep Program666401 +Ref: Egrep Program-Footnote-1674174 +Node: Id Program674284 +Node: Split Program677900 +Ref: Split Program-Footnote-1681419 +Node: Tee Program681547 +Node: Uniq Program684350 +Node: Wc Program691779 +Ref: Wc Program-Footnote-1696045 +Ref: Wc Program-Footnote-2696245 +Node: Miscellaneous Programs696337 +Node: Dupword Program697525 +Node: Alarm Program699556 +Node: Translate Program704305 +Ref: Translate Program-Footnote-1708692 +Ref: Translate Program-Footnote-2708920 +Node: Labels Program709054 +Ref: Labels Program-Footnote-1712425 +Node: Word Sorting712509 +Node: History Sorting716393 +Node: Extract Program718232 +Ref: Extract Program-Footnote-1725715 +Node: Simple Sed725843 +Node: Igawk Program728905 +Ref: Igawk Program-Footnote-1744062 +Ref: Igawk Program-Footnote-2744263 +Node: Anagram Program744401 +Node: Signature Program747469 +Node: Debugger748569 +Node: Debugging749480 +Node: Debugging Concepts749893 +Node: Debugging Terms751749 +Node: Awk Debugging754372 +Node: Sample dgawk session755264 +Node: dgawk invocation755756 +Node: Finding The Bug756938 +Node: List of Debugger Commands763424 +Node: Breakpoint Control764735 +Node: Dgawk Execution Control768371 +Node: Viewing And Changing Data771722 +Node: Dgawk Stack775059 +Node: Dgawk Info776519 +Node: Miscellaneous Dgawk Commands780467 +Node: Readline Support785895 +Node: Dgawk Limitations786733 +Node: Language History788922 +Node: V7/SVR3.1790434 +Node: SVR4792755 +Node: POSIX794197 +Node: BTL795205 +Node: POSIX/GNU795939 +Node: Common Extensions801090 +Node: Ranges and Locales802197 +Ref: Ranges and Locales-Footnote-1806804 +Node: Contributors807025 +Node: Installation811287 +Node: Gawk Distribution812181 +Node: Getting812665 +Node: Extracting813491 +Node: Distribution contents815183 +Node: Unix Installation820405 +Node: Quick Installation821022 +Node: Additional Configuration Options822984 +Node: Configuration Philosophy824461 +Node: Non-Unix Installation826803 +Node: PC Installation827261 +Node: PC Binary Installation828560 +Node: PC Compiling830408 +Node: PC Testing833352 +Node: PC Using834528 +Node: Cygwin838713 +Node: MSYS839713 +Node: VMS Installation840227 +Node: VMS Compilation840830 +Ref: VMS Compilation-Footnote-1841837 +Node: VMS Installation Details841895 +Node: VMS Running843530 +Node: VMS Old Gawk845137 +Node: Bugs845611 +Node: Other Versions849464 +Node: Notes854745 +Node: Compatibility Mode855437 +Node: Additions856220 +Node: Accessing The Source857032 +Node: Adding Code858457 +Node: New Ports864424 +Node: Dynamic Extensions868537 +Node: Internals869913 +Node: Plugin License879016 +Node: Sample Library879650 +Node: Internal File Description880336 +Node: Internal File Ops884051 +Ref: Internal File Ops-Footnote-1888832 +Node: Using Internal File Ops888972 +Node: Future Extensions891349 +Node: Basic Concepts893853 +Node: Basic High Level894610 +Ref: Basic High Level-Footnote-1898645 +Node: Basic Data Typing898830 +Node: Floating Point Issues903355 +Node: String Conversion Precision904438 +Ref: String Conversion Precision-Footnote-1906138 +Node: Unexpected Results906247 +Node: POSIX Floating Point Problems908073 +Ref: POSIX Floating Point Problems-Footnote-1911778 +Node: Glossary911816 +Node: Copying936792 +Node: GNU Free Documentation License974349 +Node: Index999486 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index a74773ca..b56cbbcf 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -893,7 +893,9 @@ Such jobs are often easier with @command{awk}. The @command{awk} utility interprets a special-purpose programming language that makes it easy to handle simple data-reformatting jobs. -The GNU implementation of @command{awk} is called @command{gawk}; it is fully +The GNU implementation of @command{awk} is called @command{gawk}; if you +invoke it with the proper options or environment variables +(@pxref{Options}), it is fully compatible with the POSIX@footnote{The 2008 POSIX standard can be found online at @url{http://www.opengroup.org/onlinepubs/9699919799/}.} @@ -3429,7 +3431,10 @@ program source code. If the environment variable @env{POSIXLY_CORRECT} exists, then @command{gawk} behaves in strict POSIX mode, exactly as if you had supplied the @option{--posix} command-line option. -Many GNU programs look for this environment variable to turn on +Many GNU programs look for this environment variable to suppress +extensions that conflict with POSIX, but @command{gawk} behaves +differently: it suppresses all extensions, even those that do not +conflict with POSIX, and behaves in strict POSIX mode. If @option{--lint} is supplied on the command line and @command{gawk} turns on POSIX mode because of @env{POSIXLY_CORRECT}, then it issues a warning message indicating that POSIX @@ -11079,6 +11084,9 @@ patterns. Likewise, the special patterns @code{BEGIN}, @code{END}, which never match any input record, are not expressions and cannot appear inside Boolean patterns. +The precedence of the different operators which can appear in +patterns is described in @ref{Precedence}. + @node Ranges @subsection Specifying Record Ranges with Patterns |