diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2018-06-11 20:35:02 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2018-06-11 20:35:02 +0300 |
commit | c02d836a8cdfd0c26d56b4547dfef69a762a3576 (patch) | |
tree | da2cafbd7381592eb818a41c16149c6debf04539 | |
parent | 8885876b4479b55c45a580addeffe36a18c7d5e4 (diff) | |
download | egawk-c02d836a8cdfd0c26d56b4547dfef69a762a3576.tar.gz egawk-c02d836a8cdfd0c26d56b4547dfef69a762a3576.tar.bz2 egawk-c02d836a8cdfd0c26d56b4547dfef69a762a3576.zip |
Small improvement in documentation of RS.
-rw-r--r-- | doc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/gawk.info | 1037 | ||||
-rw-r--r-- | doc/gawk.texi | 7 | ||||
-rw-r--r-- | doc/gawktexi.in | 7 |
4 files changed, 542 insertions, 515 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 78bf71ee..d515ccc0 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,9 @@ +2018-06-11 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.iin (awk split records): Document that even if the + single character in RS is a regexp metacharacter, it's + treated literally. Per suggestion from Ed Morton. + 2018-06-06 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (Extract Program): Remove an obsolete sentence. diff --git a/doc/gawk.info b/doc/gawk.info index 2f14f5f2..9c4ce333 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -4383,6 +4383,13 @@ highly likely to produce strange results. Using an unusual character such as '/' is more likely to produce correct behavior in the majority of cases, but there are no guarantees. The moral is: Know Your Data. + 'gawk' allows 'RS' to be a full regular expression (discussed +shortly; *note gawk split records::). Even so, using a regular +expression metacharacter, such as '.' as the single character in the +value of 'RS' has no special effect: it is treated literally. This is +required for backwards compatibility with both Unix 'awk' and with +POSIX. + When using regular characters as the record separator, there is one unusual case that occurs when 'gawk' is being fully POSIX-compliant (*note Options::). Then, the following (extreme) pipeline prints a @@ -33792,7 +33799,7 @@ Index (line 108) * dark corner, FS as null string: Single Character Fields. (line 20) -* dark corner, input files: awk split records. (line 110) +* dark corner, input files: awk split records. (line 117) * dark corner, invoking awk: Command Line. (line 16) * dark corner, length() function: String Functions. (line 187) * dark corner, locale's decimal point character: Locale influences conversions. @@ -34012,7 +34019,7 @@ Index * differences in awk and gawk, PROCINFO array: Auto-set. (line 148) * differences in awk and gawk, read timeouts: Read Timeout. (line 6) * differences in awk and gawk, record separators: awk split records. - (line 124) + (line 131) * differences in awk and gawk, regexp constants: Standard Regexp Constants. (line 43) * differences in awk and gawk, regular expressions: Case-sensitivity. @@ -34087,7 +34094,7 @@ Index * empty array elements: Reference to Elements. (line 18) * empty pattern: Empty. (line 6) -* empty strings: awk split records. (line 114) +* empty strings: awk split records. (line 121) * empty strings, See null strings: Regexp Field Splitting. (line 43) * EMRED: TCP/IP Networking. (line 6) @@ -34530,7 +34537,7 @@ Index * gawk, regular expressions, operators: GNU Regexp Operators. (line 6) * gawk, regular expressions, precedence: Regexp Operators. (line 161) -* gawk, RT variable in: awk split records. (line 124) +* gawk, RT variable in: awk split records. (line 131) * gawk, RT variable in <1>: Multiple Line. (line 130) * gawk, RT variable in <2>: Auto-set. (line 327) * gawk, See Also awk: Preface. (line 34) @@ -35009,7 +35016,7 @@ Index * NR variable: Records. (line 6) * NR variable <1>: Auto-set. (line 143) * NR variable, changing: Auto-set. (line 389) -* null strings: awk split records. (line 114) +* null strings: awk split records. (line 121) * null strings <1>: Regexp Field Splitting. (line 43) * null strings <2>: Truth Values. (line 6) @@ -35386,14 +35393,14 @@ Index * record separators <1>: User-modified. (line 136) * record separators, changing: awk split records. (line 85) * record separators, regular expressions as: awk split records. - (line 124) + (line 131) * record separators, with multiline records: Multiple Line. (line 10) * records: Reading Files. (line 14) * records <1>: Basic High Level. (line 62) * records, multiline: Multiple Line. (line 6) * records, printing: Print. (line 22) * records, splitting input into: Records. (line 6) -* records, terminating: awk split records. (line 124) +* records, terminating: awk split records. (line 131) * records, treating files as: gawk split records. (line 92) * recursive functions: Definition Syntax. (line 89) * redirect gawk output, in debugger: Debugger Info. (line 73) @@ -35423,7 +35430,7 @@ Index * regular expressions, as patterns: Regexp Usage. (line 6) * regular expressions, as patterns <1>: Regexp Patterns. (line 6) * regular expressions, as record separators: awk split records. - (line 124) + (line 131) * regular expressions, case sensitivity: Case-sensitivity. (line 6) * regular expressions, case sensitivity <1>: User-modified. (line 79) * regular expressions, computed: Computed Regexps. (line 6) @@ -35505,7 +35512,7 @@ Index * rshift: Bitwise Functions. (line 54) * RSTART variable: Auto-set. (line 320) * RSTART variable, match() function and: String Functions. (line 228) -* RT variable: awk split records. (line 124) +* RT variable: awk split records. (line 131) * RT variable <1>: Multiple Line. (line 130) * RT variable <2>: Auto-set. (line 327) * Rubin, Paul: History. (line 30) @@ -35560,7 +35567,7 @@ Index * separators, for records <1>: awk split records. (line 85) * separators, for records <2>: User-modified. (line 136) * separators, for records, regular expressions as: awk split records. - (line 124) + (line 131) * separators, for statements in actions: Action Overview. (line 19) * separators, subscript: User-modified. (line 149) * set breakpoint: Breakpoint Control. (line 11) @@ -35746,7 +35753,7 @@ Index * strings, converting letter case: String Functions. (line 526) * strings, converting, numbers to: User-modified. (line 30) * strings, converting, numbers to <1>: User-modified. (line 107) -* strings, empty, See null strings: awk split records. (line 114) +* strings, empty, See null strings: awk split records. (line 121) * strings, extracting: String Extraction. (line 6) * strings, for localization: Programmer i18n. (line 13) * strings, length limitations: Scalar Constants. (line 20) @@ -35792,7 +35799,7 @@ Index * tee utility: Tee Program. (line 6) * tee.awk program: Tee Program. (line 26) * temporary breakpoint: Breakpoint Control. (line 90) -* terminating records: awk split records. (line 124) +* terminating records: awk split records. (line 131) * testbits.awk program: Bitwise Functions. (line 69) * testext extension: Extension Sample API Tests. (line 6) @@ -36105,508 +36112,508 @@ Node: Regexp Summary192255 Node: Reading Files193721 Node: Records195990 Node: awk split records196723 -Node: gawk split records201654 -Ref: gawk split records-Footnote-1206194 -Node: Fields206231 -Node: Nonconstant Fields208972 -Ref: Nonconstant Fields-Footnote-1211208 -Node: Changing Fields211412 -Node: Field Separators217340 -Node: Default Field Splitting220038 -Node: Regexp Field Splitting221156 -Node: Single Character Fields224509 -Node: Command Line Field Separator225569 -Node: Full Line Fields228787 -Ref: Full Line Fields-Footnote-1230309 -Ref: Full Line Fields-Footnote-2230355 -Node: Field Splitting Summary230456 -Node: Constant Size232530 -Node: Fixed width data233262 -Node: Skipping intervening236729 -Node: Allowing trailing data237527 -Node: Fields with fixed data238564 -Node: Splitting By Content240082 -Ref: Splitting By Content-Footnote-1243732 -Node: Testing field creation243895 -Node: Multiple Line245520 -Ref: Multiple Line-Footnote-1251404 -Node: Getline251583 -Node: Plain Getline254052 -Node: Getline/Variable256693 -Node: Getline/File257844 -Node: Getline/Variable/File259232 -Ref: Getline/Variable/File-Footnote-1260837 -Node: Getline/Pipe260925 -Node: Getline/Variable/Pipe263632 -Node: Getline/Coprocess264767 -Node: Getline/Variable/Coprocess266034 -Node: Getline Notes266776 -Node: Getline Summary269573 -Ref: table-getline-variants269997 -Node: Read Timeout270745 -Ref: Read Timeout-Footnote-1274651 -Node: Retrying Input274709 -Node: Command-line directories275908 -Node: Input Summary276814 -Node: Input Exercises279986 -Node: Printing280714 -Node: Print282548 -Node: Print Examples284005 -Node: Output Separators286785 -Node: OFMT288802 -Node: Printf290158 -Node: Basic Printf290943 -Node: Control Letters292517 -Node: Format Modifiers297196 -Node: Printf Examples303211 -Node: Redirection305697 -Node: Special FD312538 -Ref: Special FD-Footnote-1315706 -Node: Special Files315780 -Node: Other Inherited Files316397 -Node: Special Network317398 -Node: Special Caveats318258 -Node: Close Files And Pipes319207 -Ref: table-close-pipe-return-values326114 -Ref: Close Files And Pipes-Footnote-1326927 -Ref: Close Files And Pipes-Footnote-2327075 -Node: Nonfatal327227 -Node: Output Summary329565 -Node: Output Exercises330787 -Node: Expressions331466 -Node: Values332654 -Node: Constants333332 -Node: Scalar Constants334023 -Ref: Scalar Constants-Footnote-1334887 -Node: Nondecimal-numbers335137 -Node: Regexp Constants338138 -Node: Using Constant Regexps338664 -Node: Standard Regexp Constants339286 -Node: Strong Regexp Constants342474 -Node: Variables345432 -Node: Using Variables346089 -Node: Assignment Options347999 -Node: Conversion349872 -Node: Strings And Numbers350396 -Ref: Strings And Numbers-Footnote-1353459 -Node: Locale influences conversions353568 -Ref: table-locale-affects356326 -Node: All Operators356944 -Node: Arithmetic Ops357573 -Node: Concatenation360079 -Ref: Concatenation-Footnote-1362926 -Node: Assignment Ops363033 -Ref: table-assign-ops368024 -Node: Increment Ops369337 -Node: Truth Values and Conditions372797 -Node: Truth Values373871 -Node: Typing and Comparison374919 -Node: Variable Typing375739 -Ref: Variable Typing-Footnote-1382202 -Ref: Variable Typing-Footnote-2382274 -Node: Comparison Operators382351 -Ref: table-relational-ops382770 -Node: POSIX String Comparison386265 -Ref: POSIX String Comparison-Footnote-1387960 -Ref: POSIX String Comparison-Footnote-2388099 -Node: Boolean Ops388183 -Ref: Boolean Ops-Footnote-1392665 -Node: Conditional Exp392757 -Node: Function Calls394493 -Node: Precedence398370 -Node: Locales402029 -Node: Expressions Summary403661 -Node: Patterns and Actions406234 -Node: Pattern Overview407354 -Node: Regexp Patterns409031 -Node: Expression Patterns409573 -Node: Ranges413354 -Node: BEGIN/END416462 -Node: Using BEGIN/END417223 -Ref: Using BEGIN/END-Footnote-1419959 -Node: I/O And BEGIN/END420065 -Node: BEGINFILE/ENDFILE422379 -Node: Empty425292 -Node: Using Shell Variables425609 -Node: Action Overview427883 -Node: Statements430208 -Node: If Statement432056 -Node: While Statement433551 -Node: Do Statement435579 -Node: For Statement436727 -Node: Switch Statement439898 -Node: Break Statement442284 -Node: Continue Statement444376 -Node: Next Statement446203 -Node: Nextfile Statement448586 -Node: Exit Statement451238 -Node: Built-in Variables453641 -Node: User-modified454774 -Node: Auto-set462541 -Ref: Auto-set-Footnote-1478843 -Ref: Auto-set-Footnote-2479049 -Node: ARGC and ARGV479105 -Node: Pattern Action Summary483318 -Node: Arrays485748 -Node: Array Basics487077 -Node: Array Intro487921 -Ref: figure-array-elements489896 -Ref: Array Intro-Footnote-1492600 -Node: Reference to Elements492728 -Node: Assigning Elements495192 -Node: Array Example495683 -Node: Scanning an Array497442 -Node: Controlling Scanning500464 -Ref: Controlling Scanning-Footnote-1505863 -Node: Numeric Array Subscripts506179 -Node: Uninitialized Subscripts508363 -Node: Delete509982 -Ref: Delete-Footnote-1512734 -Node: Multidimensional512791 -Node: Multiscanning515886 -Node: Arrays of Arrays517477 -Node: Arrays Summary522244 -Node: Functions524337 -Node: Built-in525375 -Node: Calling Built-in526456 -Node: Numeric Functions528452 -Ref: Numeric Functions-Footnote-1532480 -Ref: Numeric Functions-Footnote-2532837 -Ref: Numeric Functions-Footnote-3532885 -Node: String Functions533157 -Ref: String Functions-Footnote-1556866 -Ref: String Functions-Footnote-2556994 -Ref: String Functions-Footnote-3557242 -Node: Gory Details557329 -Ref: table-sub-escapes559120 -Ref: table-sub-proposed560639 -Ref: table-posix-sub562002 -Ref: table-gensub-escapes563543 -Ref: Gory Details-Footnote-1564366 -Node: I/O Functions564520 -Ref: table-system-return-values570988 -Ref: I/O Functions-Footnote-1572968 -Ref: I/O Functions-Footnote-2573116 -Node: Time Functions573236 -Ref: Time Functions-Footnote-1583907 -Ref: Time Functions-Footnote-2583975 -Ref: Time Functions-Footnote-3584133 -Ref: Time Functions-Footnote-4584244 -Ref: Time Functions-Footnote-5584356 -Ref: Time Functions-Footnote-6584583 -Node: Bitwise Functions584849 -Ref: table-bitwise-ops585443 -Ref: Bitwise Functions-Footnote-1591506 -Ref: Bitwise Functions-Footnote-2591679 -Node: Type Functions591870 -Node: I18N Functions594621 -Node: User-defined596272 -Node: Definition Syntax597077 -Ref: Definition Syntax-Footnote-1602764 -Node: Function Example602835 -Ref: Function Example-Footnote-1605757 -Node: Function Caveats605779 -Node: Calling A Function606297 -Node: Variable Scope607255 -Node: Pass By Value/Reference610249 -Node: Return Statement613748 -Node: Dynamic Typing616727 -Node: Indirect Calls617657 -Ref: Indirect Calls-Footnote-1627909 -Node: Functions Summary628037 -Node: Library Functions630742 -Ref: Library Functions-Footnote-1634349 -Ref: Library Functions-Footnote-2634492 -Node: Library Names634663 -Ref: Library Names-Footnote-1638123 -Ref: Library Names-Footnote-2638346 -Node: General Functions638432 -Node: Strtonum Function639535 -Node: Assert Function642557 -Node: Round Function645883 -Node: Cliff Random Function647423 -Node: Ordinal Functions648439 -Ref: Ordinal Functions-Footnote-1651502 -Ref: Ordinal Functions-Footnote-2651754 -Node: Join Function651964 -Ref: Join Function-Footnote-1653734 -Node: Getlocaltime Function653934 -Node: Readfile Function657676 -Node: Shell Quoting659653 -Node: Data File Management661054 -Node: Filetrans Function661686 -Node: Rewind Function665782 -Node: File Checking667692 -Ref: File Checking-Footnote-1669026 -Node: Empty Files669227 -Node: Ignoring Assigns671206 -Node: Getopt Function672756 -Ref: Getopt Function-Footnote-1684225 -Node: Passwd Functions684425 -Ref: Passwd Functions-Footnote-1693264 -Node: Group Functions693352 -Ref: Group Functions-Footnote-1701250 -Node: Walking Arrays701457 -Node: Library Functions Summary704465 -Node: Library Exercises705871 -Node: Sample Programs706336 -Node: Running Examples707106 -Node: Clones707834 -Node: Cut Program709058 -Node: Egrep Program718987 -Ref: Egrep Program-Footnote-1726499 -Node: Id Program726609 -Node: Split Program730289 -Ref: Split Program-Footnote-1733747 -Node: Tee Program733876 -Node: Uniq Program736666 -Node: Wc Program744092 -Ref: Wc Program-Footnote-1748347 -Node: Miscellaneous Programs748441 -Node: Dupword Program749654 -Node: Alarm Program751684 -Node: Translate Program756539 -Ref: Translate Program-Footnote-1761104 -Node: Labels Program761374 -Ref: Labels Program-Footnote-1764725 -Node: Word Sorting764809 -Node: History Sorting768881 -Node: Extract Program770716 -Node: Simple Sed778770 -Node: Igawk Program781844 -Ref: Igawk Program-Footnote-1796175 -Ref: Igawk Program-Footnote-2796377 -Ref: Igawk Program-Footnote-3796499 -Node: Anagram Program796614 -Node: Signature Program799676 -Node: Programs Summary800923 -Node: Programs Exercises802137 -Ref: Programs Exercises-Footnote-1806266 -Node: Advanced Features806357 -Node: Nondecimal Data808347 -Node: Array Sorting809938 -Node: Controlling Array Traversal810638 -Ref: Controlling Array Traversal-Footnote-1819006 -Node: Array Sorting Functions819124 -Ref: Array Sorting Functions-Footnote-1824215 -Node: Two-way I/O824411 -Ref: Two-way I/O-Footnote-1830963 -Ref: Two-way I/O-Footnote-2831150 -Node: TCP/IP Networking831232 -Node: Profiling834350 -Ref: Profiling-Footnote-1843022 -Node: Advanced Features Summary843345 -Node: Internationalization845189 -Node: I18N and L10N846669 -Node: Explaining gettext847356 -Ref: Explaining gettext-Footnote-1853248 -Ref: Explaining gettext-Footnote-2853433 -Node: Programmer i18n853598 -Ref: Programmer i18n-Footnote-1858547 -Node: Translator i18n858596 -Node: String Extraction859390 -Ref: String Extraction-Footnote-1860522 -Node: Printf Ordering860608 -Ref: Printf Ordering-Footnote-1863394 -Node: I18N Portability863458 -Ref: I18N Portability-Footnote-1865914 -Node: I18N Example865977 -Ref: I18N Example-Footnote-1868783 -Node: Gawk I18N868856 -Node: I18N Summary869501 -Node: Debugger870842 -Node: Debugging871865 -Node: Debugging Concepts872306 -Node: Debugging Terms874115 -Node: Awk Debugging876690 -Node: Sample Debugging Session877596 -Node: Debugger Invocation878130 -Node: Finding The Bug879516 -Node: List of Debugger Commands885994 -Node: Breakpoint Control887327 -Node: Debugger Execution Control891021 -Node: Viewing And Changing Data894383 -Node: Execution Stack897757 -Node: Debugger Info899394 -Node: Miscellaneous Debugger Commands903465 -Node: Readline Support908527 -Node: Limitations909423 -Node: Debugging Summary911532 -Node: Arbitrary Precision Arithmetic912811 -Node: Computer Arithmetic914296 -Ref: table-numeric-ranges918062 -Ref: table-floating-point-ranges918555 -Ref: Computer Arithmetic-Footnote-1919213 -Node: Math Definitions919270 -Ref: table-ieee-formats922586 -Ref: Math Definitions-Footnote-1923189 -Node: MPFR features923294 -Node: FP Math Caution925012 -Ref: FP Math Caution-Footnote-1926084 -Node: Inexactness of computations926453 -Node: Inexact representation927413 -Node: Comparing FP Values928773 -Node: Errors accumulate929855 -Node: Getting Accuracy931288 -Node: Try To Round933998 -Node: Setting precision934897 -Ref: table-predefined-precision-strings935594 -Node: Setting the rounding mode937424 -Ref: table-gawk-rounding-modes937798 -Ref: Setting the rounding mode-Footnote-1941729 -Node: Arbitrary Precision Integers941908 -Ref: Arbitrary Precision Integers-Footnote-1945083 -Node: Checking for MPFR945232 -Node: POSIX Floating Point Problems946706 -Ref: POSIX Floating Point Problems-Footnote-1950577 -Node: Floating point summary950615 -Node: Dynamic Extensions952805 -Node: Extension Intro954358 -Node: Plugin License955624 -Node: Extension Mechanism Outline956421 -Ref: figure-load-extension956860 -Ref: figure-register-new-function958425 -Ref: figure-call-new-function959517 -Node: Extension API Description961579 -Node: Extension API Functions Introduction963221 -Node: General Data Types968761 -Ref: General Data Types-Footnote-1977122 -Node: Memory Allocation Functions977421 -Ref: Memory Allocation Functions-Footnote-1981631 -Node: Constructor Functions981730 -Node: Registration Functions985316 -Node: Extension Functions986001 -Node: Exit Callback Functions991216 -Node: Extension Version String992466 -Node: Input Parsers993129 -Node: Output Wrappers1005850 -Node: Two-way processors1010362 -Node: Printing Messages1012627 -Ref: Printing Messages-Footnote-11013798 -Node: Updating ERRNO1013951 -Node: Requesting Values1014690 -Ref: table-value-types-returned1015427 -Node: Accessing Parameters1016363 -Node: Symbol Table Access1017598 -Node: Symbol table by name1018110 -Node: Symbol table by cookie1019899 -Ref: Symbol table by cookie-Footnote-11024084 -Node: Cached values1024148 -Ref: Cached values-Footnote-11027684 -Node: Array Manipulation1027837 -Ref: Array Manipulation-Footnote-11028928 -Node: Array Data Types1028965 -Ref: Array Data Types-Footnote-11031623 -Node: Array Functions1031715 -Node: Flattening Arrays1036213 -Node: Creating Arrays1043189 -Node: Redirection API1047956 -Node: Extension API Variables1050789 -Node: Extension Versioning1051500 -Ref: gawk-api-version1051929 -Node: Extension GMP/MPFR Versioning1053660 -Node: Extension API Informational Variables1055288 -Node: Extension API Boilerplate1056361 -Node: Changes from API V11060335 -Node: Finding Extensions1061907 -Node: Extension Example1062466 -Node: Internal File Description1063264 -Node: Internal File Ops1067344 -Ref: Internal File Ops-Footnote-11078694 -Node: Using Internal File Ops1078834 -Ref: Using Internal File Ops-Footnote-11081217 -Node: Extension Samples1081491 -Node: Extension Sample File Functions1083020 -Node: Extension Sample Fnmatch1090669 -Node: Extension Sample Fork1092156 -Node: Extension Sample Inplace1093374 -Node: Extension Sample Ord1096591 -Node: Extension Sample Readdir1097427 -Ref: table-readdir-file-types1098316 -Node: Extension Sample Revout1099121 -Node: Extension Sample Rev2way1099710 -Node: Extension Sample Read write array1100450 -Node: Extension Sample Readfile1102392 -Node: Extension Sample Time1103487 -Node: Extension Sample API Tests1104835 -Node: gawkextlib1105327 -Node: Extension summary1108245 -Node: Extension Exercises1111947 -Node: Language History1113445 -Node: V7/SVR3.11115101 -Node: SVR41117253 -Node: POSIX1118687 -Node: BTL1120067 -Node: POSIX/GNU1120796 -Node: Feature History1126574 -Node: Common Extensions1142433 -Node: Ranges and Locales1143716 -Ref: Ranges and Locales-Footnote-11148332 -Ref: Ranges and Locales-Footnote-21148359 -Ref: Ranges and Locales-Footnote-31148594 -Node: Contributors1148815 -Node: History summary1154760 -Node: Installation1156140 -Node: Gawk Distribution1157084 -Node: Getting1157568 -Node: Extracting1158531 -Node: Distribution contents1160169 -Node: Unix Installation1166649 -Node: Quick Installation1167331 -Node: Shell Startup Files1169745 -Node: Additional Configuration Options1170834 -Node: Configuration Philosophy1173127 -Node: Non-Unix Installation1175496 -Node: PC Installation1175956 -Node: PC Binary Installation1176794 -Node: PC Compiling1177229 -Node: PC Using1178346 -Node: Cygwin1181561 -Node: MSYS1182660 -Node: VMS Installation1183161 -Node: VMS Compilation1183952 -Ref: VMS Compilation-Footnote-11185181 -Node: VMS Dynamic Extensions1185239 -Node: VMS Installation Details1186924 -Node: VMS Running1189177 -Node: VMS GNV1193456 -Node: VMS Old Gawk1194191 -Node: Bugs1194662 -Node: Bug address1195325 -Node: Usenet1198117 -Node: Maintainers1198894 -Node: Other Versions1200155 -Node: Installation summary1206917 -Node: Notes1208119 -Node: Compatibility Mode1208984 -Node: Additions1209766 -Node: Accessing The Source1210691 -Node: Adding Code1212128 -Node: New Ports1218347 -Node: Derived Files1222835 -Ref: Derived Files-Footnote-11228481 -Ref: Derived Files-Footnote-21228516 -Ref: Derived Files-Footnote-31229114 -Node: Future Extensions1229228 -Node: Implementation Limitations1229886 -Node: Extension Design1231069 -Node: Old Extension Problems1232223 -Ref: Old Extension Problems-Footnote-11233741 -Node: Extension New Mechanism Goals1233798 -Ref: Extension New Mechanism Goals-Footnote-11237162 -Node: Extension Other Design Decisions1237351 -Node: Extension Future Growth1239464 -Node: Old Extension Mechanism1240300 -Node: Notes summary1242063 -Node: Basic Concepts1243245 -Node: Basic High Level1243926 -Ref: figure-general-flow1244208 -Ref: figure-process-flow1244893 -Ref: Basic High Level-Footnote-11248194 -Node: Basic Data Typing1248379 -Node: Glossary1251707 -Node: Copying1283545 -Node: GNU Free Documentation License1321088 -Node: Index1346208 +Node: gawk split records201998 +Ref: gawk split records-Footnote-1206538 +Node: Fields206575 +Node: Nonconstant Fields209316 +Ref: Nonconstant Fields-Footnote-1211552 +Node: Changing Fields211756 +Node: Field Separators217684 +Node: Default Field Splitting220382 +Node: Regexp Field Splitting221500 +Node: Single Character Fields224853 +Node: Command Line Field Separator225913 +Node: Full Line Fields229131 +Ref: Full Line Fields-Footnote-1230653 +Ref: Full Line Fields-Footnote-2230699 +Node: Field Splitting Summary230800 +Node: Constant Size232874 +Node: Fixed width data233606 +Node: Skipping intervening237073 +Node: Allowing trailing data237871 +Node: Fields with fixed data238908 +Node: Splitting By Content240426 +Ref: Splitting By Content-Footnote-1244076 +Node: Testing field creation244239 +Node: Multiple Line245864 +Ref: Multiple Line-Footnote-1251748 +Node: Getline251927 +Node: Plain Getline254396 +Node: Getline/Variable257037 +Node: Getline/File258188 +Node: Getline/Variable/File259576 +Ref: Getline/Variable/File-Footnote-1261181 +Node: Getline/Pipe261269 +Node: Getline/Variable/Pipe263976 +Node: Getline/Coprocess265111 +Node: Getline/Variable/Coprocess266378 +Node: Getline Notes267120 +Node: Getline Summary269917 +Ref: table-getline-variants270341 +Node: Read Timeout271089 +Ref: Read Timeout-Footnote-1274995 +Node: Retrying Input275053 +Node: Command-line directories276252 +Node: Input Summary277158 +Node: Input Exercises280330 +Node: Printing281058 +Node: Print282892 +Node: Print Examples284349 +Node: Output Separators287129 +Node: OFMT289146 +Node: Printf290502 +Node: Basic Printf291287 +Node: Control Letters292861 +Node: Format Modifiers297540 +Node: Printf Examples303555 +Node: Redirection306041 +Node: Special FD312882 +Ref: Special FD-Footnote-1316050 +Node: Special Files316124 +Node: Other Inherited Files316741 +Node: Special Network317742 +Node: Special Caveats318602 +Node: Close Files And Pipes319551 +Ref: table-close-pipe-return-values326458 +Ref: Close Files And Pipes-Footnote-1327271 +Ref: Close Files And Pipes-Footnote-2327419 +Node: Nonfatal327571 +Node: Output Summary329909 +Node: Output Exercises331131 +Node: Expressions331810 +Node: Values332998 +Node: Constants333676 +Node: Scalar Constants334367 +Ref: Scalar Constants-Footnote-1335231 +Node: Nondecimal-numbers335481 +Node: Regexp Constants338482 +Node: Using Constant Regexps339008 +Node: Standard Regexp Constants339630 +Node: Strong Regexp Constants342818 +Node: Variables345776 +Node: Using Variables346433 +Node: Assignment Options348343 +Node: Conversion350216 +Node: Strings And Numbers350740 +Ref: Strings And Numbers-Footnote-1353803 +Node: Locale influences conversions353912 +Ref: table-locale-affects356670 +Node: All Operators357288 +Node: Arithmetic Ops357917 +Node: Concatenation360423 +Ref: Concatenation-Footnote-1363270 +Node: Assignment Ops363377 +Ref: table-assign-ops368368 +Node: Increment Ops369681 +Node: Truth Values and Conditions373141 +Node: Truth Values374215 +Node: Typing and Comparison375263 +Node: Variable Typing376083 +Ref: Variable Typing-Footnote-1382546 +Ref: Variable Typing-Footnote-2382618 +Node: Comparison Operators382695 +Ref: table-relational-ops383114 +Node: POSIX String Comparison386609 +Ref: POSIX String Comparison-Footnote-1388304 +Ref: POSIX String Comparison-Footnote-2388443 +Node: Boolean Ops388527 +Ref: Boolean Ops-Footnote-1393009 +Node: Conditional Exp393101 +Node: Function Calls394837 +Node: Precedence398714 +Node: Locales402373 +Node: Expressions Summary404005 +Node: Patterns and Actions406578 +Node: Pattern Overview407698 +Node: Regexp Patterns409375 +Node: Expression Patterns409917 +Node: Ranges413698 +Node: BEGIN/END416806 +Node: Using BEGIN/END417567 +Ref: Using BEGIN/END-Footnote-1420303 +Node: I/O And BEGIN/END420409 +Node: BEGINFILE/ENDFILE422723 +Node: Empty425636 +Node: Using Shell Variables425953 +Node: Action Overview428227 +Node: Statements430552 +Node: If Statement432400 +Node: While Statement433895 +Node: Do Statement435923 +Node: For Statement437071 +Node: Switch Statement440242 +Node: Break Statement442628 +Node: Continue Statement444720 +Node: Next Statement446547 +Node: Nextfile Statement448930 +Node: Exit Statement451582 +Node: Built-in Variables453985 +Node: User-modified455118 +Node: Auto-set462885 +Ref: Auto-set-Footnote-1479187 +Ref: Auto-set-Footnote-2479393 +Node: ARGC and ARGV479449 +Node: Pattern Action Summary483662 +Node: Arrays486092 +Node: Array Basics487421 +Node: Array Intro488265 +Ref: figure-array-elements490240 +Ref: Array Intro-Footnote-1492944 +Node: Reference to Elements493072 +Node: Assigning Elements495536 +Node: Array Example496027 +Node: Scanning an Array497786 +Node: Controlling Scanning500808 +Ref: Controlling Scanning-Footnote-1506207 +Node: Numeric Array Subscripts506523 +Node: Uninitialized Subscripts508707 +Node: Delete510326 +Ref: Delete-Footnote-1513078 +Node: Multidimensional513135 +Node: Multiscanning516230 +Node: Arrays of Arrays517821 +Node: Arrays Summary522588 +Node: Functions524681 +Node: Built-in525719 +Node: Calling Built-in526800 +Node: Numeric Functions528796 +Ref: Numeric Functions-Footnote-1532824 +Ref: Numeric Functions-Footnote-2533181 +Ref: Numeric Functions-Footnote-3533229 +Node: String Functions533501 +Ref: String Functions-Footnote-1557210 +Ref: String Functions-Footnote-2557338 +Ref: String Functions-Footnote-3557586 +Node: Gory Details557673 +Ref: table-sub-escapes559464 +Ref: table-sub-proposed560983 +Ref: table-posix-sub562346 +Ref: table-gensub-escapes563887 +Ref: Gory Details-Footnote-1564710 +Node: I/O Functions564864 +Ref: table-system-return-values571332 +Ref: I/O Functions-Footnote-1573312 +Ref: I/O Functions-Footnote-2573460 +Node: Time Functions573580 +Ref: Time Functions-Footnote-1584251 +Ref: Time Functions-Footnote-2584319 +Ref: Time Functions-Footnote-3584477 +Ref: Time Functions-Footnote-4584588 +Ref: Time Functions-Footnote-5584700 +Ref: Time Functions-Footnote-6584927 +Node: Bitwise Functions585193 +Ref: table-bitwise-ops585787 +Ref: Bitwise Functions-Footnote-1591850 +Ref: Bitwise Functions-Footnote-2592023 +Node: Type Functions592214 +Node: I18N Functions594965 +Node: User-defined596616 +Node: Definition Syntax597421 +Ref: Definition Syntax-Footnote-1603108 +Node: Function Example603179 +Ref: Function Example-Footnote-1606101 +Node: Function Caveats606123 +Node: Calling A Function606641 +Node: Variable Scope607599 +Node: Pass By Value/Reference610593 +Node: Return Statement614092 +Node: Dynamic Typing617071 +Node: Indirect Calls618001 +Ref: Indirect Calls-Footnote-1628253 +Node: Functions Summary628381 +Node: Library Functions631086 +Ref: Library Functions-Footnote-1634693 +Ref: Library Functions-Footnote-2634836 +Node: Library Names635007 +Ref: Library Names-Footnote-1638467 +Ref: Library Names-Footnote-2638690 +Node: General Functions638776 +Node: Strtonum Function639879 +Node: Assert Function642901 +Node: Round Function646227 +Node: Cliff Random Function647767 +Node: Ordinal Functions648783 +Ref: Ordinal Functions-Footnote-1651846 +Ref: Ordinal Functions-Footnote-2652098 +Node: Join Function652308 +Ref: Join Function-Footnote-1654078 +Node: Getlocaltime Function654278 +Node: Readfile Function658020 +Node: Shell Quoting659997 +Node: Data File Management661398 +Node: Filetrans Function662030 +Node: Rewind Function666126 +Node: File Checking668036 +Ref: File Checking-Footnote-1669370 +Node: Empty Files669571 +Node: Ignoring Assigns671550 +Node: Getopt Function673100 +Ref: Getopt Function-Footnote-1684569 +Node: Passwd Functions684769 +Ref: Passwd Functions-Footnote-1693608 +Node: Group Functions693696 +Ref: Group Functions-Footnote-1701594 +Node: Walking Arrays701801 +Node: Library Functions Summary704809 +Node: Library Exercises706215 +Node: Sample Programs706680 +Node: Running Examples707450 +Node: Clones708178 +Node: Cut Program709402 +Node: Egrep Program719331 +Ref: Egrep Program-Footnote-1726843 +Node: Id Program726953 +Node: Split Program730633 +Ref: Split Program-Footnote-1734091 +Node: Tee Program734220 +Node: Uniq Program737010 +Node: Wc Program744436 +Ref: Wc Program-Footnote-1748691 +Node: Miscellaneous Programs748785 +Node: Dupword Program749998 +Node: Alarm Program752028 +Node: Translate Program756883 +Ref: Translate Program-Footnote-1761448 +Node: Labels Program761718 +Ref: Labels Program-Footnote-1765069 +Node: Word Sorting765153 +Node: History Sorting769225 +Node: Extract Program771060 +Node: Simple Sed779114 +Node: Igawk Program782188 +Ref: Igawk Program-Footnote-1796519 +Ref: Igawk Program-Footnote-2796721 +Ref: Igawk Program-Footnote-3796843 +Node: Anagram Program796958 +Node: Signature Program800020 +Node: Programs Summary801267 +Node: Programs Exercises802481 +Ref: Programs Exercises-Footnote-1806610 +Node: Advanced Features806701 +Node: Nondecimal Data808691 +Node: Array Sorting810282 +Node: Controlling Array Traversal810982 +Ref: Controlling Array Traversal-Footnote-1819350 +Node: Array Sorting Functions819468 +Ref: Array Sorting Functions-Footnote-1824559 +Node: Two-way I/O824755 +Ref: Two-way I/O-Footnote-1831307 +Ref: Two-way I/O-Footnote-2831494 +Node: TCP/IP Networking831576 +Node: Profiling834694 +Ref: Profiling-Footnote-1843366 +Node: Advanced Features Summary843689 +Node: Internationalization845533 +Node: I18N and L10N847013 +Node: Explaining gettext847700 +Ref: Explaining gettext-Footnote-1853592 +Ref: Explaining gettext-Footnote-2853777 +Node: Programmer i18n853942 +Ref: Programmer i18n-Footnote-1858891 +Node: Translator i18n858940 +Node: String Extraction859734 +Ref: String Extraction-Footnote-1860866 +Node: Printf Ordering860952 +Ref: Printf Ordering-Footnote-1863738 +Node: I18N Portability863802 +Ref: I18N Portability-Footnote-1866258 +Node: I18N Example866321 +Ref: I18N Example-Footnote-1869127 +Node: Gawk I18N869200 +Node: I18N Summary869845 +Node: Debugger871186 +Node: Debugging872209 +Node: Debugging Concepts872650 +Node: Debugging Terms874459 +Node: Awk Debugging877034 +Node: Sample Debugging Session877940 +Node: Debugger Invocation878474 +Node: Finding The Bug879860 +Node: List of Debugger Commands886338 +Node: Breakpoint Control887671 +Node: Debugger Execution Control891365 +Node: Viewing And Changing Data894727 +Node: Execution Stack898101 +Node: Debugger Info899738 +Node: Miscellaneous Debugger Commands903809 +Node: Readline Support908871 +Node: Limitations909767 +Node: Debugging Summary911876 +Node: Arbitrary Precision Arithmetic913155 +Node: Computer Arithmetic914640 +Ref: table-numeric-ranges918406 +Ref: table-floating-point-ranges918899 +Ref: Computer Arithmetic-Footnote-1919557 +Node: Math Definitions919614 +Ref: table-ieee-formats922930 +Ref: Math Definitions-Footnote-1923533 +Node: MPFR features923638 +Node: FP Math Caution925356 +Ref: FP Math Caution-Footnote-1926428 +Node: Inexactness of computations926797 +Node: Inexact representation927757 +Node: Comparing FP Values929117 +Node: Errors accumulate930199 +Node: Getting Accuracy931632 +Node: Try To Round934342 +Node: Setting precision935241 +Ref: table-predefined-precision-strings935938 +Node: Setting the rounding mode937768 +Ref: table-gawk-rounding-modes938142 +Ref: Setting the rounding mode-Footnote-1942073 +Node: Arbitrary Precision Integers942252 +Ref: Arbitrary Precision Integers-Footnote-1945427 +Node: Checking for MPFR945576 +Node: POSIX Floating Point Problems947050 +Ref: POSIX Floating Point Problems-Footnote-1950921 +Node: Floating point summary950959 +Node: Dynamic Extensions953149 +Node: Extension Intro954702 +Node: Plugin License955968 +Node: Extension Mechanism Outline956765 +Ref: figure-load-extension957204 +Ref: figure-register-new-function958769 +Ref: figure-call-new-function959861 +Node: Extension API Description961923 +Node: Extension API Functions Introduction963565 +Node: General Data Types969105 +Ref: General Data Types-Footnote-1977466 +Node: Memory Allocation Functions977765 +Ref: Memory Allocation Functions-Footnote-1981975 +Node: Constructor Functions982074 +Node: Registration Functions985660 +Node: Extension Functions986345 +Node: Exit Callback Functions991560 +Node: Extension Version String992810 +Node: Input Parsers993473 +Node: Output Wrappers1006194 +Node: Two-way processors1010706 +Node: Printing Messages1012971 +Ref: Printing Messages-Footnote-11014142 +Node: Updating ERRNO1014295 +Node: Requesting Values1015034 +Ref: table-value-types-returned1015771 +Node: Accessing Parameters1016707 +Node: Symbol Table Access1017942 +Node: Symbol table by name1018454 +Node: Symbol table by cookie1020243 +Ref: Symbol table by cookie-Footnote-11024428 +Node: Cached values1024492 +Ref: Cached values-Footnote-11028028 +Node: Array Manipulation1028181 +Ref: Array Manipulation-Footnote-11029272 +Node: Array Data Types1029309 +Ref: Array Data Types-Footnote-11031967 +Node: Array Functions1032059 +Node: Flattening Arrays1036557 +Node: Creating Arrays1043533 +Node: Redirection API1048300 +Node: Extension API Variables1051133 +Node: Extension Versioning1051844 +Ref: gawk-api-version1052273 +Node: Extension GMP/MPFR Versioning1054004 +Node: Extension API Informational Variables1055632 +Node: Extension API Boilerplate1056705 +Node: Changes from API V11060679 +Node: Finding Extensions1062251 +Node: Extension Example1062810 +Node: Internal File Description1063608 +Node: Internal File Ops1067688 +Ref: Internal File Ops-Footnote-11079038 +Node: Using Internal File Ops1079178 +Ref: Using Internal File Ops-Footnote-11081561 +Node: Extension Samples1081835 +Node: Extension Sample File Functions1083364 +Node: Extension Sample Fnmatch1091013 +Node: Extension Sample Fork1092500 +Node: Extension Sample Inplace1093718 +Node: Extension Sample Ord1096935 +Node: Extension Sample Readdir1097771 +Ref: table-readdir-file-types1098660 +Node: Extension Sample Revout1099465 +Node: Extension Sample Rev2way1100054 +Node: Extension Sample Read write array1100794 +Node: Extension Sample Readfile1102736 +Node: Extension Sample Time1103831 +Node: Extension Sample API Tests1105179 +Node: gawkextlib1105671 +Node: Extension summary1108589 +Node: Extension Exercises1112291 +Node: Language History1113789 +Node: V7/SVR3.11115445 +Node: SVR41117597 +Node: POSIX1119031 +Node: BTL1120411 +Node: POSIX/GNU1121140 +Node: Feature History1126918 +Node: Common Extensions1142777 +Node: Ranges and Locales1144060 +Ref: Ranges and Locales-Footnote-11148676 +Ref: Ranges and Locales-Footnote-21148703 +Ref: Ranges and Locales-Footnote-31148938 +Node: Contributors1149159 +Node: History summary1155104 +Node: Installation1156484 +Node: Gawk Distribution1157428 +Node: Getting1157912 +Node: Extracting1158875 +Node: Distribution contents1160513 +Node: Unix Installation1166993 +Node: Quick Installation1167675 +Node: Shell Startup Files1170089 +Node: Additional Configuration Options1171178 +Node: Configuration Philosophy1173471 +Node: Non-Unix Installation1175840 +Node: PC Installation1176300 +Node: PC Binary Installation1177138 +Node: PC Compiling1177573 +Node: PC Using1178690 +Node: Cygwin1181905 +Node: MSYS1183004 +Node: VMS Installation1183505 +Node: VMS Compilation1184296 +Ref: VMS Compilation-Footnote-11185525 +Node: VMS Dynamic Extensions1185583 +Node: VMS Installation Details1187268 +Node: VMS Running1189521 +Node: VMS GNV1193800 +Node: VMS Old Gawk1194535 +Node: Bugs1195006 +Node: Bug address1195669 +Node: Usenet1198461 +Node: Maintainers1199238 +Node: Other Versions1200499 +Node: Installation summary1207261 +Node: Notes1208463 +Node: Compatibility Mode1209328 +Node: Additions1210110 +Node: Accessing The Source1211035 +Node: Adding Code1212472 +Node: New Ports1218691 +Node: Derived Files1223179 +Ref: Derived Files-Footnote-11228825 +Ref: Derived Files-Footnote-21228860 +Ref: Derived Files-Footnote-31229458 +Node: Future Extensions1229572 +Node: Implementation Limitations1230230 +Node: Extension Design1231413 +Node: Old Extension Problems1232567 +Ref: Old Extension Problems-Footnote-11234085 +Node: Extension New Mechanism Goals1234142 +Ref: Extension New Mechanism Goals-Footnote-11237506 +Node: Extension Other Design Decisions1237695 +Node: Extension Future Growth1239808 +Node: Old Extension Mechanism1240644 +Node: Notes summary1242407 +Node: Basic Concepts1243589 +Node: Basic High Level1244270 +Ref: figure-general-flow1244552 +Ref: figure-process-flow1245237 +Ref: Basic High Level-Footnote-11248538 +Node: Basic Data Typing1248723 +Node: Glossary1252051 +Node: Copying1283889 +Node: GNU Free Documentation License1321432 +Node: Index1346552 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 6e8c0f89..54b21680 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -6588,6 +6588,13 @@ Using an unusual character such as @samp{/} is more likely to produce correct behavior in the majority of cases, but there are no guarantees. The moral is: Know Your Data. +@command{gawk} allows @code{RS} to be a full regular expression +(discussed shortly; @pxref{gawk split records}). Even so, using +a regular expression metacharacter, such as @samp{.} as the single +character in the value of @code{RS} has no special effect: it is +treated literally. This is required for backwards compatibility with +both Unix @command{awk} and with POSIX. + When using regular characters as the record separator, there is one unusual case that occurs when @command{gawk} is being fully POSIX-compliant (@pxref{Options}). diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 4ac3133f..8ed19cbf 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -6371,6 +6371,13 @@ Using an unusual character such as @samp{/} is more likely to produce correct behavior in the majority of cases, but there are no guarantees. The moral is: Know Your Data. +@command{gawk} allows @code{RS} to be a full regular expression +(discussed shortly; @pxref{gawk split records}). Even so, using +a regular expression metacharacter, such as @samp{.} as the single +character in the value of @code{RS} has no special effect: it is +treated literally. This is required for backwards compatibility with +both Unix @command{awk} and with POSIX. + When using regular characters as the record separator, there is one unusual case that occurs when @command{gawk} is being fully POSIX-compliant (@pxref{Options}). |