diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/gawk.info | 1108 | ||||
-rw-r--r-- | doc/gawk.texi | 44 | ||||
-rw-r--r-- | doc/gawktexi.in | 44 |
4 files changed, 579 insertions, 623 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 1e3ac3ca..980eb023 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,9 @@ +2014-08-26 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Use a different mechanism to exclude + exercises. Remove use of LC_ALL in an example; doesn't seem + to be needed anymore. + 2014-08-25 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Exercises are excluded from print edition. diff --git a/doc/gawk.info b/doc/gawk.info index 850c8e73..7e6e1b89 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -219,7 +219,6 @@ entitled "GNU Free Documentation License". * Command-line directories:: What happens if you put a directory on the command line. * Input Summary:: Input summary. - * Input Exercises:: Exercises. * Print:: The `print' statement. * Print Examples:: Simple examples of `print' @@ -245,7 +244,6 @@ entitled "GNU Free Documentation License". * Close Files And Pipes:: Closing Input and Output Files and Pipes. * Output Summary:: Output summary. - * Output Exercises:: Exercises. * Values:: Constants, Variables, and Regular Expressions. @@ -433,7 +431,6 @@ entitled "GNU Free Documentation License". information. * Walking Arrays:: A function to walk arrays of arrays. * Library Functions Summary:: Summary of library functions. - * Library Exercises:: Exercises. * Running Examples:: How to run these examples. * Clones:: Clones of common utilities. @@ -465,7 +462,6 @@ entitled "GNU Free Documentation License". * Signature Program:: People do amazing things with too much time on their hands. * Programs Summary:: Summary of programs. - * Programs Exercises:: Exercises. * Nondecimal Data:: Allowing nondecimal input data. * Array Sorting:: Facilities for controlling array @@ -588,7 +584,6 @@ entitled "GNU Free Documentation License". and `sleep()'. * gawkextlib:: The `gawkextlib' project. * Extension summary:: Extension summary. - * Extension Exercises:: Exercises. * V7/SVR3.1:: The major changes between V7 and System V Release 3.1. @@ -2047,8 +2042,8 @@ summarize, select, and rearrange the output of another utility. It uses features that haven't been covered yet, so don't worry if you don't understand all the details: - LC_ALL=C ls -l | awk '$6 == "Nov" { sum += $5 } - END { print sum }' + ls -l | awk '$6 == "Nov" { sum += $5 } + END { print sum }' This command prints the total number of bytes in all the files in the current directory that were last modified in November (of any year). @@ -4084,7 +4079,6 @@ have to be named on the `awk' command line (*note Getline::). * Command-line directories:: What happens if you put a directory on the command line. * Input Summary:: Input summary. - * Input Exercises:: Exercises. @@ -6025,7 +6019,6 @@ function. descriptors. * Close Files And Pipes:: Closing Input and Output Files and Pipes. * Output Summary:: Output summary. - * Output Exercises:: Exercises. @@ -14250,7 +14243,6 @@ for different implementations of `awk' is pretty straightforward. * Group Functions:: Functions for getting group information. * Walking Arrays:: A function to walk arrays of arrays. * Library Functions Summary:: Summary of library functions. - * Library Exercises:: Exercises. ---------- Footnotes ---------- @@ -16093,7 +16085,6 @@ Library Functions::. * Clones:: Clones of common utilities. * Miscellaneous Programs:: Some interesting `awk' programs. * Programs Summary:: Summary of programs. - * Programs Exercises:: Exercises. @@ -22296,7 +22287,6 @@ sample extensions are automatically built and installed when `gawk' is. `gawk'. * gawkextlib:: The `gawkextlib' project. * Extension summary:: Extension summary. - * Extension Exercises:: Exercises. @@ -33984,552 +33974,552 @@ Index Tag Table: Node: Top1204 -Node: Foreword41863 -Node: Preface46208 -Ref: Preface-Footnote-149231 -Ref: Preface-Footnote-249338 -Node: History49570 -Node: Names51944 -Ref: Names-Footnote-153038 -Node: This Manual53184 -Ref: This Manual-Footnote-158963 -Node: Conventions59063 -Node: Manual History61408 -Ref: Manual History-Footnote-164484 -Ref: Manual History-Footnote-264525 -Node: How To Contribute64599 -Node: Acknowledgments65838 -Node: Getting Started70586 -Node: Running gawk73020 -Node: One-shot74210 -Node: Read Terminal75435 -Ref: Read Terminal-Footnote-177398 -Node: Long77569 -Node: Executable Scripts78963 -Ref: Executable Scripts-Footnote-181764 -Node: Comments81866 -Node: Quoting84339 -Node: DOS Quoting89652 -Node: Sample Data Files90327 -Node: Very Simple92934 -Node: Two Rules97693 -Node: More Complex99587 -Ref: More Complex-Footnote-1102519 -Node: Statements/Lines102604 -Ref: Statements/Lines-Footnote-1107060 -Node: Other Features107325 -Node: When108253 -Ref: When-Footnote-1110009 -Node: Intro Summary110074 -Node: Invoking Gawk110957 -Node: Command Line112472 -Node: Options113263 -Ref: Options-Footnote-1129039 -Node: Other Arguments129064 -Node: Naming Standard Input131726 -Node: Environment Variables132819 -Node: AWKPATH Variable133377 -Ref: AWKPATH Variable-Footnote-1136243 -Ref: AWKPATH Variable-Footnote-2136288 -Node: AWKLIBPATH Variable136548 -Node: Other Environment Variables137307 -Node: Exit Status140964 -Node: Include Files141639 -Node: Loading Shared Libraries145217 -Node: Obsolete146601 -Node: Undocumented147298 -Node: Invoking Summary147565 -Node: Regexp149165 -Node: Regexp Usage150624 -Node: Escape Sequences152657 -Node: Regexp Operators158474 -Ref: Regexp Operators-Footnote-1165905 -Ref: Regexp Operators-Footnote-2166052 -Node: Bracket Expressions166150 -Ref: table-char-classes168172 -Node: GNU Regexp Operators171112 -Node: Case-sensitivity174821 -Ref: Case-sensitivity-Footnote-1177713 -Ref: Case-sensitivity-Footnote-2177948 -Node: Leftmost Longest178056 -Node: Computed Regexps179257 -Node: Regexp Summary182629 -Node: Reading Files184098 -Node: Records186191 -Node: awk split records186913 -Node: gawk split records191771 -Ref: gawk split records-Footnote-1196292 -Node: Fields196329 -Ref: Fields-Footnote-1199293 -Node: Nonconstant Fields199379 -Ref: Nonconstant Fields-Footnote-1201609 -Node: Changing Fields201811 -Node: Field Separators207765 -Node: Default Field Splitting210467 -Node: Regexp Field Splitting211584 -Node: Single Character Fields214911 -Node: Command Line Field Separator215970 -Node: Full Line Fields219396 -Ref: Full Line Fields-Footnote-1219904 -Node: Field Splitting Summary219950 -Ref: Field Splitting Summary-Footnote-1223082 -Node: Constant Size223183 -Node: Splitting By Content227789 -Ref: Splitting By Content-Footnote-1231862 -Node: Multiple Line231902 -Ref: Multiple Line-Footnote-1237758 -Node: Getline237937 -Node: Plain Getline240148 -Node: Getline/Variable242243 -Node: Getline/File243390 -Node: Getline/Variable/File244774 -Ref: Getline/Variable/File-Footnote-1246373 -Node: Getline/Pipe246460 -Node: Getline/Variable/Pipe249146 -Node: Getline/Coprocess250253 -Node: Getline/Variable/Coprocess251505 -Node: Getline Notes252242 -Node: Getline Summary255046 -Ref: table-getline-variants255454 -Node: Read Timeout256366 -Ref: Read Timeout-Footnote-1260193 -Node: Command-line directories260251 -Node: Input Summary261155 -Node: Input Exercises264292 -Node: Printing265025 -Node: Print266748 -Node: Print Examples268241 -Node: Output Separators271020 -Node: OFMT273036 -Node: Printf274394 -Node: Basic Printf275300 -Node: Control Letters276839 -Node: Format Modifiers280830 -Node: Printf Examples286857 -Node: Redirection289321 -Node: Special Files296293 -Node: Special FD296826 -Ref: Special FD-Footnote-1300423 -Node: Special Network300497 -Node: Special Caveats301347 -Node: Close Files And Pipes302143 -Ref: Close Files And Pipes-Footnote-1309304 -Ref: Close Files And Pipes-Footnote-2309452 -Node: Output Summary309602 -Node: Output Exercises310599 -Node: Expressions311279 -Node: Values312464 -Node: Constants313140 -Node: Scalar Constants313820 -Ref: Scalar Constants-Footnote-1314679 -Node: Nondecimal-numbers314929 -Node: Regexp Constants317929 -Node: Using Constant Regexps318404 -Node: Variables321476 -Node: Using Variables322131 -Node: Assignment Options323855 -Node: Conversion325730 -Node: Strings And Numbers326254 -Ref: Strings And Numbers-Footnote-1329316 -Node: Locale influences conversions329425 -Ref: table-locale-affects332142 -Node: All Operators332730 -Node: Arithmetic Ops333360 -Node: Concatenation335865 -Ref: Concatenation-Footnote-1338684 -Node: Assignment Ops338790 -Ref: table-assign-ops343773 -Node: Increment Ops345076 -Node: Truth Values and Conditions348514 -Node: Truth Values349597 -Node: Typing and Comparison350646 -Node: Variable Typing351439 -Node: Comparison Operators355091 -Ref: table-relational-ops355501 -Node: POSIX String Comparison359051 -Ref: POSIX String Comparison-Footnote-1360135 -Node: Boolean Ops360273 -Ref: Boolean Ops-Footnote-1364348 -Node: Conditional Exp364439 -Node: Function Calls366166 -Node: Precedence370046 -Node: Locales373715 -Node: Expressions Summary375346 -Node: Patterns and Actions377887 -Node: Pattern Overview379003 -Node: Regexp Patterns380680 -Node: Expression Patterns381223 -Node: Ranges385003 -Node: BEGIN/END388109 -Node: Using BEGIN/END388871 -Ref: Using BEGIN/END-Footnote-1391607 -Node: I/O And BEGIN/END391713 -Node: BEGINFILE/ENDFILE393984 -Node: Empty396915 -Node: Using Shell Variables397232 -Node: Action Overview399515 -Node: Statements401842 -Node: If Statement403690 -Node: While Statement405188 -Node: Do Statement407232 -Node: For Statement408388 -Node: Switch Statement411540 -Node: Break Statement413928 -Node: Continue Statement415969 -Node: Next Statement417794 -Node: Nextfile Statement420184 -Node: Exit Statement422820 -Node: Built-in Variables425224 -Node: User-modified426351 -Ref: User-modified-Footnote-1434040 -Node: Auto-set434102 -Ref: Auto-set-Footnote-1446684 -Ref: Auto-set-Footnote-2446889 -Node: ARGC and ARGV446945 -Node: Pattern Action Summary450849 -Node: Arrays453072 -Node: Array Basics454621 -Node: Array Intro455447 -Ref: figure-array-elements457420 -Ref: Array Intro-Footnote-1459944 -Node: Reference to Elements460072 -Node: Assigning Elements462522 -Node: Array Example463013 -Node: Scanning an Array464745 -Node: Controlling Scanning467746 -Ref: Controlling Scanning-Footnote-1472919 -Node: Delete473235 -Ref: Delete-Footnote-1475986 -Node: Numeric Array Subscripts476043 -Node: Uninitialized Subscripts478226 -Node: Multidimensional479851 -Node: Multiscanning482964 -Node: Arrays of Arrays484553 -Node: Arrays Summary489216 -Node: Functions491321 -Node: Built-in492194 -Node: Calling Built-in493272 -Node: Numeric Functions495260 -Ref: Numeric Functions-Footnote-1499294 -Ref: Numeric Functions-Footnote-2499651 -Ref: Numeric Functions-Footnote-3499699 -Node: String Functions499968 -Ref: String Functions-Footnote-1522965 -Ref: String Functions-Footnote-2523094 -Ref: String Functions-Footnote-3523342 -Node: Gory Details523429 -Ref: table-sub-escapes525202 -Ref: table-sub-proposed526722 -Ref: table-posix-sub528086 -Ref: table-gensub-escapes529626 -Ref: Gory Details-Footnote-1530802 -Node: I/O Functions530953 -Ref: I/O Functions-Footnote-1538063 -Node: Time Functions538210 -Ref: Time Functions-Footnote-1548674 -Ref: Time Functions-Footnote-2548742 -Ref: Time Functions-Footnote-3548900 -Ref: Time Functions-Footnote-4549011 -Ref: Time Functions-Footnote-5549123 -Ref: Time Functions-Footnote-6549350 -Node: Bitwise Functions549616 -Ref: table-bitwise-ops550178 -Ref: Bitwise Functions-Footnote-1554423 -Node: Type Functions554607 -Node: I18N Functions555749 -Node: User-defined557394 -Node: Definition Syntax558198 -Ref: Definition Syntax-Footnote-1563511 -Node: Function Example563580 -Ref: Function Example-Footnote-1566220 -Node: Function Caveats566242 -Node: Calling A Function566760 -Node: Variable Scope567715 -Node: Pass By Value/Reference570703 -Node: Return Statement574213 -Node: Dynamic Typing577197 -Node: Indirect Calls578126 -Node: Functions Summary587839 -Node: Library Functions590378 -Ref: Library Functions-Footnote-1593997 -Ref: Library Functions-Footnote-2594140 -Node: Library Names594311 -Ref: Library Names-Footnote-1597784 -Ref: Library Names-Footnote-2598004 -Node: General Functions598090 -Node: Strtonum Function599118 -Node: Assert Function601898 -Node: Round Function605224 -Node: Cliff Random Function606765 -Node: Ordinal Functions607781 -Ref: Ordinal Functions-Footnote-1610846 -Ref: Ordinal Functions-Footnote-2611098 -Node: Join Function611309 -Ref: Join Function-Footnote-1613080 -Node: Getlocaltime Function613280 -Node: Readfile Function617016 -Node: Data File Management618855 -Node: Filetrans Function619487 -Node: Rewind Function623556 -Node: File Checking625114 -Ref: File Checking-Footnote-1626246 -Node: Empty Files626447 -Node: Ignoring Assigns628426 -Node: Getopt Function629980 -Ref: Getopt Function-Footnote-1641283 -Node: Passwd Functions641486 -Ref: Passwd Functions-Footnote-1650465 -Node: Group Functions650553 -Ref: Group Functions-Footnote-1658484 -Node: Walking Arrays658697 -Node: Library Functions Summary660300 -Node: Library Exercises661688 -Node: Sample Programs662968 -Node: Running Examples663739 -Node: Clones664467 -Node: Cut Program665691 -Node: Egrep Program675549 -Ref: Egrep Program-Footnote-1683136 -Node: Id Program683246 -Node: Split Program686900 -Ref: Split Program-Footnote-1690438 -Node: Tee Program690566 -Node: Uniq Program693353 -Node: Wc Program700774 -Ref: Wc Program-Footnote-1705039 -Node: Miscellaneous Programs705131 -Node: Dupword Program706344 -Node: Alarm Program708375 -Node: Translate Program713179 -Ref: Translate Program-Footnote-1717570 -Ref: Translate Program-Footnote-2717840 -Node: Labels Program717974 -Ref: Labels Program-Footnote-1721335 -Node: Word Sorting721419 -Node: History Sorting725462 -Node: Extract Program727298 -Node: Simple Sed734834 -Node: Igawk Program737896 -Ref: Igawk Program-Footnote-1752200 -Ref: Igawk Program-Footnote-2752401 -Node: Anagram Program752539 -Node: Signature Program755607 -Node: Programs Summary756854 -Node: Programs Exercises758069 -Node: Advanced Features761720 -Node: Nondecimal Data763668 -Node: Array Sorting765245 -Node: Controlling Array Traversal765942 -Node: Array Sorting Functions774222 -Ref: Array Sorting Functions-Footnote-1778129 -Node: Two-way I/O778323 -Ref: Two-way I/O-Footnote-1783267 -Ref: Two-way I/O-Footnote-2783446 -Node: TCP/IP Networking783528 -Node: Profiling786373 -Node: Advanced Features Summary793915 -Node: Internationalization795779 -Node: I18N and L10N797259 -Node: Explaining gettext797945 -Ref: Explaining gettext-Footnote-1802971 -Ref: Explaining gettext-Footnote-2803155 -Node: Programmer i18n803320 -Ref: Programmer i18n-Footnote-1808114 -Node: Translator i18n808163 -Node: String Extraction808957 -Ref: String Extraction-Footnote-1810090 -Node: Printf Ordering810176 -Ref: Printf Ordering-Footnote-1812958 -Node: I18N Portability813022 -Ref: I18N Portability-Footnote-1815471 -Node: I18N Example815534 -Ref: I18N Example-Footnote-1818240 -Node: Gawk I18N818312 -Node: I18N Summary818950 -Node: Debugger820289 -Node: Debugging821311 -Node: Debugging Concepts821752 -Node: Debugging Terms823608 -Node: Awk Debugging826205 -Node: Sample Debugging Session827097 -Node: Debugger Invocation827617 -Node: Finding The Bug828950 -Node: List of Debugger Commands835432 -Node: Breakpoint Control836764 -Node: Debugger Execution Control840428 -Node: Viewing And Changing Data843788 -Node: Execution Stack847146 -Node: Debugger Info848659 -Node: Miscellaneous Debugger Commands852653 -Node: Readline Support857837 -Node: Limitations858729 -Node: Debugging Summary861003 -Node: Arbitrary Precision Arithmetic862171 -Node: Computer Arithmetic863658 -Ref: Computer Arithmetic-Footnote-1868045 -Node: Math Definitions868102 -Ref: table-ieee-formats871391 -Ref: Math Definitions-Footnote-1871931 -Node: MPFR features872034 -Node: FP Math Caution873651 -Ref: FP Math Caution-Footnote-1874701 -Node: Inexactness of computations875070 -Node: Inexact representation876018 -Node: Comparing FP Values877373 -Node: Errors accumulate878337 -Node: Getting Accuracy879770 -Node: Try To Round882429 -Node: Setting precision883328 -Ref: table-predefined-precision-strings884010 -Node: Setting the rounding mode885803 -Ref: table-gawk-rounding-modes886167 -Ref: Setting the rounding mode-Footnote-1889621 -Node: Arbitrary Precision Integers889800 -Ref: Arbitrary Precision Integers-Footnote-1892781 -Node: POSIX Floating Point Problems892930 -Ref: POSIX Floating Point Problems-Footnote-1896806 -Node: Floating point summary896844 -Node: Dynamic Extensions899048 -Node: Extension Intro900601 -Node: Plugin License901866 -Node: Extension Mechanism Outline902551 -Ref: figure-load-extension902975 -Ref: figure-load-new-function904460 -Ref: figure-call-new-function905462 -Node: Extension API Description907446 -Node: Extension API Functions Introduction908896 -Node: General Data Types913763 -Ref: General Data Types-Footnote-1919456 -Node: Requesting Values919755 -Ref: table-value-types-returned920492 -Node: Memory Allocation Functions921450 -Ref: Memory Allocation Functions-Footnote-1924197 -Node: Constructor Functions924293 -Node: Registration Functions926051 -Node: Extension Functions926736 -Node: Exit Callback Functions929038 -Node: Extension Version String930286 -Node: Input Parsers930936 -Node: Output Wrappers940750 -Node: Two-way processors945266 -Node: Printing Messages947470 -Ref: Printing Messages-Footnote-1948547 -Node: Updating `ERRNO'948699 -Node: Accessing Parameters949438 -Node: Symbol Table Access950668 -Node: Symbol table by name951182 -Node: Symbol table by cookie953158 -Ref: Symbol table by cookie-Footnote-1957291 -Node: Cached values957354 -Ref: Cached values-Footnote-1960858 -Node: Array Manipulation960949 -Ref: Array Manipulation-Footnote-1962047 -Node: Array Data Types962086 -Ref: Array Data Types-Footnote-1964789 -Node: Array Functions964881 -Node: Flattening Arrays968755 -Node: Creating Arrays975607 -Node: Extension API Variables980338 -Node: Extension Versioning980974 -Node: Extension API Informational Variables982875 -Node: Extension API Boilerplate983961 -Node: Finding Extensions987765 -Node: Extension Example988325 -Node: Internal File Description989055 -Node: Internal File Ops993146 -Ref: Internal File Ops-Footnote-11004578 -Node: Using Internal File Ops1004718 -Ref: Using Internal File Ops-Footnote-11007065 -Node: Extension Samples1007333 -Node: Extension Sample File Functions1008857 -Node: Extension Sample Fnmatch1016425 -Node: Extension Sample Fork1017907 -Node: Extension Sample Inplace1019120 -Node: Extension Sample Ord1020795 -Node: Extension Sample Readdir1021631 -Ref: table-readdir-file-types1022487 -Node: Extension Sample Revout1023286 -Node: Extension Sample Rev2way1023877 -Node: Extension Sample Read write array1024618 -Node: Extension Sample Readfile1026497 -Node: Extension Sample API Tests1027597 -Node: Extension Sample Time1028122 -Node: gawkextlib1029437 -Node: Extension summary1032250 -Node: Extension Exercises1035943 -Node: Language History1036665 -Node: V7/SVR3.11038308 -Node: SVR41040628 -Node: POSIX1042070 -Node: BTL1043456 -Node: POSIX/GNU1044190 -Node: Feature History1049906 -Node: Common Extensions1062997 -Node: Ranges and Locales1064309 -Ref: Ranges and Locales-Footnote-11068926 -Ref: Ranges and Locales-Footnote-21068953 -Ref: Ranges and Locales-Footnote-31069187 -Node: Contributors1069408 -Node: History summary1074833 -Node: Installation1076202 -Node: Gawk Distribution1077153 -Node: Getting1077637 -Node: Extracting1078461 -Node: Distribution contents1080103 -Node: Unix Installation1085820 -Node: Quick Installation1086437 -Node: Additional Configuration Options1088879 -Node: Configuration Philosophy1090617 -Node: Non-Unix Installation1092968 -Node: PC Installation1093426 -Node: PC Binary Installation1094737 -Node: PC Compiling1096585 -Ref: PC Compiling-Footnote-11099584 -Node: PC Testing1099689 -Node: PC Using1100865 -Node: Cygwin1105017 -Node: MSYS1105826 -Node: VMS Installation1106340 -Node: VMS Compilation1107136 -Ref: VMS Compilation-Footnote-11108358 -Node: VMS Dynamic Extensions1108416 -Node: VMS Installation Details1109789 -Node: VMS Running1112041 -Node: VMS GNV1114875 -Node: VMS Old Gawk1115598 -Node: Bugs1116068 -Node: Other Versions1120072 -Node: Installation summary1126299 -Node: Notes1127355 -Node: Compatibility Mode1128220 -Node: Additions1129002 -Node: Accessing The Source1129927 -Node: Adding Code1131363 -Node: New Ports1137541 -Node: Derived Files1142022 -Ref: Derived Files-Footnote-11147103 -Ref: Derived Files-Footnote-21147137 -Ref: Derived Files-Footnote-31147733 -Node: Future Extensions1147847 -Node: Implementation Limitations1148453 -Node: Extension Design1149701 -Node: Old Extension Problems1150855 -Ref: Old Extension Problems-Footnote-11152372 -Node: Extension New Mechanism Goals1152429 -Ref: Extension New Mechanism Goals-Footnote-11155789 -Node: Extension Other Design Decisions1155978 -Node: Extension Future Growth1158084 -Node: Old Extension Mechanism1158920 -Node: Notes summary1160682 -Node: Basic Concepts1161868 -Node: Basic High Level1162549 -Ref: figure-general-flow1162821 -Ref: figure-process-flow1163420 -Ref: Basic High Level-Footnote-11166649 -Node: Basic Data Typing1166834 -Node: Glossary1170162 -Node: Copying1195314 -Node: GNU Free Documentation License1232870 -Node: Index1258006 +Node: Foreword41858 +Node: Preface46203 +Ref: Preface-Footnote-149226 +Ref: Preface-Footnote-249333 +Node: History49565 +Node: Names51939 +Ref: Names-Footnote-153033 +Node: This Manual53179 +Ref: This Manual-Footnote-158958 +Node: Conventions59058 +Node: Manual History61403 +Ref: Manual History-Footnote-164479 +Ref: Manual History-Footnote-264520 +Node: How To Contribute64594 +Node: Acknowledgments65833 +Node: Getting Started70581 +Node: Running gawk73015 +Node: One-shot74205 +Node: Read Terminal75430 +Ref: Read Terminal-Footnote-177393 +Node: Long77564 +Node: Executable Scripts78958 +Ref: Executable Scripts-Footnote-181759 +Node: Comments81861 +Node: Quoting84334 +Node: DOS Quoting89647 +Node: Sample Data Files90322 +Node: Very Simple92929 +Node: Two Rules97688 +Node: More Complex99582 +Ref: More Complex-Footnote-1102496 +Node: Statements/Lines102581 +Ref: Statements/Lines-Footnote-1107037 +Node: Other Features107302 +Node: When108230 +Ref: When-Footnote-1109986 +Node: Intro Summary110051 +Node: Invoking Gawk110934 +Node: Command Line112449 +Node: Options113240 +Ref: Options-Footnote-1129016 +Node: Other Arguments129041 +Node: Naming Standard Input131703 +Node: Environment Variables132796 +Node: AWKPATH Variable133354 +Ref: AWKPATH Variable-Footnote-1136220 +Ref: AWKPATH Variable-Footnote-2136265 +Node: AWKLIBPATH Variable136525 +Node: Other Environment Variables137284 +Node: Exit Status140941 +Node: Include Files141616 +Node: Loading Shared Libraries145194 +Node: Obsolete146578 +Node: Undocumented147275 +Node: Invoking Summary147542 +Node: Regexp149142 +Node: Regexp Usage150601 +Node: Escape Sequences152634 +Node: Regexp Operators158451 +Ref: Regexp Operators-Footnote-1165882 +Ref: Regexp Operators-Footnote-2166029 +Node: Bracket Expressions166127 +Ref: table-char-classes168149 +Node: GNU Regexp Operators171089 +Node: Case-sensitivity174798 +Ref: Case-sensitivity-Footnote-1177690 +Ref: Case-sensitivity-Footnote-2177925 +Node: Leftmost Longest178033 +Node: Computed Regexps179234 +Node: Regexp Summary182606 +Node: Reading Files184075 +Node: Records186167 +Node: awk split records186889 +Node: gawk split records191747 +Ref: gawk split records-Footnote-1196268 +Node: Fields196305 +Ref: Fields-Footnote-1199269 +Node: Nonconstant Fields199355 +Ref: Nonconstant Fields-Footnote-1201585 +Node: Changing Fields201787 +Node: Field Separators207741 +Node: Default Field Splitting210443 +Node: Regexp Field Splitting211560 +Node: Single Character Fields214887 +Node: Command Line Field Separator215946 +Node: Full Line Fields219372 +Ref: Full Line Fields-Footnote-1219880 +Node: Field Splitting Summary219926 +Ref: Field Splitting Summary-Footnote-1223058 +Node: Constant Size223159 +Node: Splitting By Content227765 +Ref: Splitting By Content-Footnote-1231838 +Node: Multiple Line231878 +Ref: Multiple Line-Footnote-1237734 +Node: Getline237913 +Node: Plain Getline240124 +Node: Getline/Variable242219 +Node: Getline/File243366 +Node: Getline/Variable/File244750 +Ref: Getline/Variable/File-Footnote-1246349 +Node: Getline/Pipe246436 +Node: Getline/Variable/Pipe249122 +Node: Getline/Coprocess250229 +Node: Getline/Variable/Coprocess251481 +Node: Getline Notes252218 +Node: Getline Summary255022 +Ref: table-getline-variants255430 +Node: Read Timeout256342 +Ref: Read Timeout-Footnote-1260169 +Node: Command-line directories260227 +Node: Input Summary261131 +Node: Input Exercises264268 +Node: Printing265001 +Node: Print266723 +Node: Print Examples268216 +Node: Output Separators270995 +Node: OFMT273011 +Node: Printf274369 +Node: Basic Printf275275 +Node: Control Letters276814 +Node: Format Modifiers280805 +Node: Printf Examples286832 +Node: Redirection289296 +Node: Special Files296268 +Node: Special FD296801 +Ref: Special FD-Footnote-1300398 +Node: Special Network300472 +Node: Special Caveats301322 +Node: Close Files And Pipes302118 +Ref: Close Files And Pipes-Footnote-1309279 +Ref: Close Files And Pipes-Footnote-2309427 +Node: Output Summary309577 +Node: Output Exercises310574 +Node: Expressions311254 +Node: Values312439 +Node: Constants313115 +Node: Scalar Constants313795 +Ref: Scalar Constants-Footnote-1314654 +Node: Nondecimal-numbers314904 +Node: Regexp Constants317904 +Node: Using Constant Regexps318379 +Node: Variables321451 +Node: Using Variables322106 +Node: Assignment Options323830 +Node: Conversion325705 +Node: Strings And Numbers326229 +Ref: Strings And Numbers-Footnote-1329291 +Node: Locale influences conversions329400 +Ref: table-locale-affects332117 +Node: All Operators332705 +Node: Arithmetic Ops333335 +Node: Concatenation335840 +Ref: Concatenation-Footnote-1338659 +Node: Assignment Ops338765 +Ref: table-assign-ops343748 +Node: Increment Ops345051 +Node: Truth Values and Conditions348489 +Node: Truth Values349572 +Node: Typing and Comparison350621 +Node: Variable Typing351414 +Node: Comparison Operators355066 +Ref: table-relational-ops355476 +Node: POSIX String Comparison359026 +Ref: POSIX String Comparison-Footnote-1360110 +Node: Boolean Ops360248 +Ref: Boolean Ops-Footnote-1364323 +Node: Conditional Exp364414 +Node: Function Calls366141 +Node: Precedence370021 +Node: Locales373690 +Node: Expressions Summary375321 +Node: Patterns and Actions377862 +Node: Pattern Overview378978 +Node: Regexp Patterns380655 +Node: Expression Patterns381198 +Node: Ranges384978 +Node: BEGIN/END388084 +Node: Using BEGIN/END388846 +Ref: Using BEGIN/END-Footnote-1391582 +Node: I/O And BEGIN/END391688 +Node: BEGINFILE/ENDFILE393959 +Node: Empty396890 +Node: Using Shell Variables397207 +Node: Action Overview399490 +Node: Statements401817 +Node: If Statement403665 +Node: While Statement405163 +Node: Do Statement407207 +Node: For Statement408363 +Node: Switch Statement411515 +Node: Break Statement413903 +Node: Continue Statement415944 +Node: Next Statement417769 +Node: Nextfile Statement420159 +Node: Exit Statement422795 +Node: Built-in Variables425199 +Node: User-modified426326 +Ref: User-modified-Footnote-1434015 +Node: Auto-set434077 +Ref: Auto-set-Footnote-1446659 +Ref: Auto-set-Footnote-2446864 +Node: ARGC and ARGV446920 +Node: Pattern Action Summary450824 +Node: Arrays453047 +Node: Array Basics454596 +Node: Array Intro455422 +Ref: figure-array-elements457395 +Ref: Array Intro-Footnote-1459919 +Node: Reference to Elements460047 +Node: Assigning Elements462497 +Node: Array Example462988 +Node: Scanning an Array464720 +Node: Controlling Scanning467721 +Ref: Controlling Scanning-Footnote-1472894 +Node: Delete473210 +Ref: Delete-Footnote-1475961 +Node: Numeric Array Subscripts476018 +Node: Uninitialized Subscripts478201 +Node: Multidimensional479826 +Node: Multiscanning482939 +Node: Arrays of Arrays484528 +Node: Arrays Summary489191 +Node: Functions491296 +Node: Built-in492169 +Node: Calling Built-in493247 +Node: Numeric Functions495235 +Ref: Numeric Functions-Footnote-1499269 +Ref: Numeric Functions-Footnote-2499626 +Ref: Numeric Functions-Footnote-3499674 +Node: String Functions499943 +Ref: String Functions-Footnote-1522940 +Ref: String Functions-Footnote-2523069 +Ref: String Functions-Footnote-3523317 +Node: Gory Details523404 +Ref: table-sub-escapes525177 +Ref: table-sub-proposed526697 +Ref: table-posix-sub528061 +Ref: table-gensub-escapes529601 +Ref: Gory Details-Footnote-1530777 +Node: I/O Functions530928 +Ref: I/O Functions-Footnote-1538038 +Node: Time Functions538185 +Ref: Time Functions-Footnote-1548649 +Ref: Time Functions-Footnote-2548717 +Ref: Time Functions-Footnote-3548875 +Ref: Time Functions-Footnote-4548986 +Ref: Time Functions-Footnote-5549098 +Ref: Time Functions-Footnote-6549325 +Node: Bitwise Functions549591 +Ref: table-bitwise-ops550153 +Ref: Bitwise Functions-Footnote-1554398 +Node: Type Functions554582 +Node: I18N Functions555724 +Node: User-defined557369 +Node: Definition Syntax558173 +Ref: Definition Syntax-Footnote-1563486 +Node: Function Example563555 +Ref: Function Example-Footnote-1566195 +Node: Function Caveats566217 +Node: Calling A Function566735 +Node: Variable Scope567690 +Node: Pass By Value/Reference570678 +Node: Return Statement574188 +Node: Dynamic Typing577172 +Node: Indirect Calls578101 +Node: Functions Summary587814 +Node: Library Functions590353 +Ref: Library Functions-Footnote-1593971 +Ref: Library Functions-Footnote-2594114 +Node: Library Names594285 +Ref: Library Names-Footnote-1597758 +Ref: Library Names-Footnote-2597978 +Node: General Functions598064 +Node: Strtonum Function599092 +Node: Assert Function601872 +Node: Round Function605198 +Node: Cliff Random Function606739 +Node: Ordinal Functions607755 +Ref: Ordinal Functions-Footnote-1610820 +Ref: Ordinal Functions-Footnote-2611072 +Node: Join Function611283 +Ref: Join Function-Footnote-1613054 +Node: Getlocaltime Function613254 +Node: Readfile Function616990 +Node: Data File Management618829 +Node: Filetrans Function619461 +Node: Rewind Function623530 +Node: File Checking625088 +Ref: File Checking-Footnote-1626220 +Node: Empty Files626421 +Node: Ignoring Assigns628400 +Node: Getopt Function629954 +Ref: Getopt Function-Footnote-1641257 +Node: Passwd Functions641460 +Ref: Passwd Functions-Footnote-1650439 +Node: Group Functions650527 +Ref: Group Functions-Footnote-1658458 +Node: Walking Arrays658671 +Node: Library Functions Summary660274 +Node: Library Exercises661662 +Node: Sample Programs662942 +Node: Running Examples663712 +Node: Clones664440 +Node: Cut Program665664 +Node: Egrep Program675522 +Ref: Egrep Program-Footnote-1683109 +Node: Id Program683219 +Node: Split Program686873 +Ref: Split Program-Footnote-1690411 +Node: Tee Program690539 +Node: Uniq Program693326 +Node: Wc Program700747 +Ref: Wc Program-Footnote-1705012 +Node: Miscellaneous Programs705104 +Node: Dupword Program706317 +Node: Alarm Program708348 +Node: Translate Program713152 +Ref: Translate Program-Footnote-1717543 +Ref: Translate Program-Footnote-2717813 +Node: Labels Program717947 +Ref: Labels Program-Footnote-1721308 +Node: Word Sorting721392 +Node: History Sorting725435 +Node: Extract Program727271 +Node: Simple Sed734807 +Node: Igawk Program737869 +Ref: Igawk Program-Footnote-1752173 +Ref: Igawk Program-Footnote-2752374 +Node: Anagram Program752512 +Node: Signature Program755580 +Node: Programs Summary756827 +Node: Programs Exercises758042 +Node: Advanced Features761693 +Node: Nondecimal Data763641 +Node: Array Sorting765218 +Node: Controlling Array Traversal765915 +Node: Array Sorting Functions774195 +Ref: Array Sorting Functions-Footnote-1778102 +Node: Two-way I/O778296 +Ref: Two-way I/O-Footnote-1783240 +Ref: Two-way I/O-Footnote-2783419 +Node: TCP/IP Networking783501 +Node: Profiling786346 +Node: Advanced Features Summary793888 +Node: Internationalization795752 +Node: I18N and L10N797232 +Node: Explaining gettext797918 +Ref: Explaining gettext-Footnote-1802944 +Ref: Explaining gettext-Footnote-2803128 +Node: Programmer i18n803293 +Ref: Programmer i18n-Footnote-1808087 +Node: Translator i18n808136 +Node: String Extraction808930 +Ref: String Extraction-Footnote-1810063 +Node: Printf Ordering810149 +Ref: Printf Ordering-Footnote-1812931 +Node: I18N Portability812995 +Ref: I18N Portability-Footnote-1815444 +Node: I18N Example815507 +Ref: I18N Example-Footnote-1818213 +Node: Gawk I18N818285 +Node: I18N Summary818923 +Node: Debugger820262 +Node: Debugging821284 +Node: Debugging Concepts821725 +Node: Debugging Terms823581 +Node: Awk Debugging826178 +Node: Sample Debugging Session827070 +Node: Debugger Invocation827590 +Node: Finding The Bug828923 +Node: List of Debugger Commands835405 +Node: Breakpoint Control836737 +Node: Debugger Execution Control840401 +Node: Viewing And Changing Data843761 +Node: Execution Stack847119 +Node: Debugger Info848632 +Node: Miscellaneous Debugger Commands852626 +Node: Readline Support857810 +Node: Limitations858702 +Node: Debugging Summary860976 +Node: Arbitrary Precision Arithmetic862144 +Node: Computer Arithmetic863631 +Ref: Computer Arithmetic-Footnote-1868018 +Node: Math Definitions868075 +Ref: table-ieee-formats871364 +Ref: Math Definitions-Footnote-1871904 +Node: MPFR features872007 +Node: FP Math Caution873624 +Ref: FP Math Caution-Footnote-1874674 +Node: Inexactness of computations875043 +Node: Inexact representation875991 +Node: Comparing FP Values877346 +Node: Errors accumulate878310 +Node: Getting Accuracy879743 +Node: Try To Round882402 +Node: Setting precision883301 +Ref: table-predefined-precision-strings883983 +Node: Setting the rounding mode885776 +Ref: table-gawk-rounding-modes886140 +Ref: Setting the rounding mode-Footnote-1889594 +Node: Arbitrary Precision Integers889773 +Ref: Arbitrary Precision Integers-Footnote-1892754 +Node: POSIX Floating Point Problems892903 +Ref: POSIX Floating Point Problems-Footnote-1896779 +Node: Floating point summary896817 +Node: Dynamic Extensions899021 +Node: Extension Intro900573 +Node: Plugin License901838 +Node: Extension Mechanism Outline902523 +Ref: figure-load-extension902947 +Ref: figure-load-new-function904432 +Ref: figure-call-new-function905434 +Node: Extension API Description907418 +Node: Extension API Functions Introduction908868 +Node: General Data Types913735 +Ref: General Data Types-Footnote-1919428 +Node: Requesting Values919727 +Ref: table-value-types-returned920464 +Node: Memory Allocation Functions921422 +Ref: Memory Allocation Functions-Footnote-1924169 +Node: Constructor Functions924265 +Node: Registration Functions926023 +Node: Extension Functions926708 +Node: Exit Callback Functions929010 +Node: Extension Version String930258 +Node: Input Parsers930908 +Node: Output Wrappers940722 +Node: Two-way processors945238 +Node: Printing Messages947442 +Ref: Printing Messages-Footnote-1948519 +Node: Updating `ERRNO'948671 +Node: Accessing Parameters949410 +Node: Symbol Table Access950640 +Node: Symbol table by name951154 +Node: Symbol table by cookie953130 +Ref: Symbol table by cookie-Footnote-1957263 +Node: Cached values957326 +Ref: Cached values-Footnote-1960830 +Node: Array Manipulation960921 +Ref: Array Manipulation-Footnote-1962019 +Node: Array Data Types962058 +Ref: Array Data Types-Footnote-1964761 +Node: Array Functions964853 +Node: Flattening Arrays968727 +Node: Creating Arrays975579 +Node: Extension API Variables980310 +Node: Extension Versioning980946 +Node: Extension API Informational Variables982847 +Node: Extension API Boilerplate983933 +Node: Finding Extensions987737 +Node: Extension Example988297 +Node: Internal File Description989027 +Node: Internal File Ops993118 +Ref: Internal File Ops-Footnote-11004550 +Node: Using Internal File Ops1004690 +Ref: Using Internal File Ops-Footnote-11007037 +Node: Extension Samples1007305 +Node: Extension Sample File Functions1008829 +Node: Extension Sample Fnmatch1016397 +Node: Extension Sample Fork1017879 +Node: Extension Sample Inplace1019092 +Node: Extension Sample Ord1020767 +Node: Extension Sample Readdir1021603 +Ref: table-readdir-file-types1022459 +Node: Extension Sample Revout1023258 +Node: Extension Sample Rev2way1023849 +Node: Extension Sample Read write array1024590 +Node: Extension Sample Readfile1026469 +Node: Extension Sample API Tests1027569 +Node: Extension Sample Time1028094 +Node: gawkextlib1029409 +Node: Extension summary1032222 +Node: Extension Exercises1035915 +Node: Language History1036637 +Node: V7/SVR3.11038280 +Node: SVR41040600 +Node: POSIX1042042 +Node: BTL1043428 +Node: POSIX/GNU1044162 +Node: Feature History1049878 +Node: Common Extensions1062969 +Node: Ranges and Locales1064281 +Ref: Ranges and Locales-Footnote-11068898 +Ref: Ranges and Locales-Footnote-21068925 +Ref: Ranges and Locales-Footnote-31069159 +Node: Contributors1069380 +Node: History summary1074805 +Node: Installation1076174 +Node: Gawk Distribution1077125 +Node: Getting1077609 +Node: Extracting1078433 +Node: Distribution contents1080075 +Node: Unix Installation1085792 +Node: Quick Installation1086409 +Node: Additional Configuration Options1088851 +Node: Configuration Philosophy1090589 +Node: Non-Unix Installation1092940 +Node: PC Installation1093398 +Node: PC Binary Installation1094709 +Node: PC Compiling1096557 +Ref: PC Compiling-Footnote-11099556 +Node: PC Testing1099661 +Node: PC Using1100837 +Node: Cygwin1104989 +Node: MSYS1105798 +Node: VMS Installation1106312 +Node: VMS Compilation1107108 +Ref: VMS Compilation-Footnote-11108330 +Node: VMS Dynamic Extensions1108388 +Node: VMS Installation Details1109761 +Node: VMS Running1112013 +Node: VMS GNV1114847 +Node: VMS Old Gawk1115570 +Node: Bugs1116040 +Node: Other Versions1120044 +Node: Installation summary1126271 +Node: Notes1127327 +Node: Compatibility Mode1128192 +Node: Additions1128974 +Node: Accessing The Source1129899 +Node: Adding Code1131335 +Node: New Ports1137513 +Node: Derived Files1141994 +Ref: Derived Files-Footnote-11147075 +Ref: Derived Files-Footnote-21147109 +Ref: Derived Files-Footnote-31147705 +Node: Future Extensions1147819 +Node: Implementation Limitations1148425 +Node: Extension Design1149673 +Node: Old Extension Problems1150827 +Ref: Old Extension Problems-Footnote-11152344 +Node: Extension New Mechanism Goals1152401 +Ref: Extension New Mechanism Goals-Footnote-11155761 +Node: Extension Other Design Decisions1155950 +Node: Extension Future Growth1158056 +Node: Old Extension Mechanism1158892 +Node: Notes summary1160654 +Node: Basic Concepts1161840 +Node: Basic High Level1162521 +Ref: figure-general-flow1162793 +Ref: figure-process-flow1163392 +Ref: Basic High Level-Footnote-11166621 +Node: Basic Data Typing1166806 +Node: Glossary1170134 +Node: Copying1195286 +Node: GNU Free Documentation License1232842 +Node: Index1257978 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 8068eda5..2e5dc9bd 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -575,9 +575,7 @@ particular records in a file and perform operations upon them. * Command-line directories:: What happens if you put a directory on the command line. * Input Summary:: Input summary. -@ifclear FOR_PRINT * Input Exercises:: Exercises. -@end ifclear * Print:: The @code{print} statement. * Print Examples:: Simple examples of @code{print} statements. @@ -602,9 +600,7 @@ particular records in a file and perform operations upon them. * Close Files And Pipes:: Closing Input and Output Files and Pipes. * Output Summary:: Output summary. -@ifclear FOR_PRINT * Output Exercises:: Exercises. -@end ifclear * Values:: Constants, Variables, and Regular Expressions. * Constants:: String, numeric and regexp constants. @@ -791,9 +787,7 @@ particular records in a file and perform operations upon them. information. * Walking Arrays:: A function to walk arrays of arrays. * Library Functions Summary:: Summary of library functions. -@ifclear FOR_PRINT * Library Exercises:: Exercises. -@end ifclear * Running Examples:: How to run these examples. * Clones:: Clones of common utilities. * Cut Program:: The @command{cut} utility. @@ -824,9 +818,7 @@ particular records in a file and perform operations upon them. * Signature Program:: People do amazing things with too much time on their hands. * Programs Summary:: Summary of programs. -@ifclear FOR_PRINT * Programs Exercises:: Exercises. -@end ifclear * Nondecimal Data:: Allowing nondecimal input data. * Array Sorting:: Facilities for controlling array traversal and sorting arrays. @@ -948,9 +940,7 @@ particular records in a file and perform operations upon them. and @code{sleep()}. * gawkextlib:: The @code{gawkextlib} project. * Extension summary:: Extension summary. -@ifclear FOR_PRINT * Extension Exercises:: Exercises. -@end ifclear * V7/SVR3.1:: The major changes between V7 and System V Release 3.1. * SVR4:: Minor changes between System V @@ -3195,8 +3185,8 @@ features that haven't been covered yet, so don't worry if you don't understand all the details: @example -LC_ALL=C ls -l | awk '$6 == "Nov" @{ sum += $5 @} - END @{ print sum @}' +ls -l | awk '$6 == "Nov" @{ sum += $5 @} + END @{ print sum @}' @end example @cindex @command{ls} utility @@ -6134,9 +6124,7 @@ used with it do not have to be named on the @command{awk} command line * Command-line directories:: What happens if you put a directory on the command line. * Input Summary:: Input summary. -@ifclear FOR_PRINT * Input Exercises:: Exercises. -@end ifclear @end menu @node Records @@ -8682,7 +8670,7 @@ Directories on the command line are fatal for standard @command{awk}; @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Input Exercises @section Exercises @@ -8702,7 +8690,7 @@ starts later on the same line. Write a program that does handle multiple comments on the line. @end enumerate -@end ifclear +@c EXCLUDE END @node Printing @chapter Printing Output @@ -8744,9 +8732,7 @@ and discusses the @code{close()} built-in function. descriptors. * Close Files And Pipes:: Closing Input and Output Files and Pipes. * Output Summary:: Output summary. -@ifclear FOR_PRINT * Output Exercises:: Exercises. -@end ifclear @end menu @node Print @@ -10257,7 +10243,7 @@ communications. @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Output Exercises @section Exercises @@ -10287,7 +10273,7 @@ BEGIN @{ print "Serious error detected!" > /dev/stderr @} @end example @end enumerate -@end ifclear +@c EXCLUDE END @c ENDOFRANGE prnt @@ -20302,9 +20288,7 @@ comparisons use only lowercase letters. * Group Functions:: Functions for getting group information. * Walking Arrays:: A function to walk arrays of arrays. * Library Functions Summary:: Summary of library functions. -@ifclear FOR_PRINT * Library Exercises:: Exercises. -@end ifclear @end menu @node Library Names @@ -22721,7 +22705,7 @@ A simple function to traverse an array of arrays to any depth. @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Library Exercises @section Exercises @@ -22788,7 +22772,7 @@ Test your new version by printing the array; you should end up with output identical to that of the original version. @end enumerate -@end ifclear +@c EXCLUDE END @c ENDOFRANGE flib @c ENDOFRANGE fudlib @@ -22833,9 +22817,7 @@ Many of these programs use library functions presented in * Clones:: Clones of common utilities. * Miscellaneous Programs:: Some interesting @command{awk} programs. * Programs Summary:: Summary of programs. -@ifclear FOR_PRINT * Programs Exercises:: Exercises. -@end ifclear @end menu @node Running Examples @@ -26271,7 +26253,7 @@ mailing labels, and finding anagrams. @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Programs Exercises @section Exercises @@ -26401,7 +26383,7 @@ Modify @file{anagram.awk} (@pxref{Anagram Program}), to avoid the use of the external @command{sort} utility. @end enumerate -@end ifclear +@c EXCLUDE END @ifnotinfo @part @value{PART3}Moving Beyond Standard @command{awk} With @command{gawk} @@ -30804,9 +30786,7 @@ When @option{--sandbox} is specified, extensions are disabled @code{gawk}. * gawkextlib:: The @code{gawkextlib} project. * Extension summary:: Extension summary. -@ifclear FOR_PRINT * Extension Exercises:: Exercises. -@end ifclear @end menu @node Extension Intro @@ -34743,7 +34723,7 @@ should be the place to do so. @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Extension Exercises @section Exercises @@ -34766,7 +34746,7 @@ Write a wrapper script that provides an interface similar to @ref{Extension Sample Inplace}. @end enumerate -@end ifclear +@c EXCLUDE END @ifnotinfo @part @value{PART4}Appendices diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 77cd4caf..954b7db0 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -570,9 +570,7 @@ particular records in a file and perform operations upon them. * Command-line directories:: What happens if you put a directory on the command line. * Input Summary:: Input summary. -@ifclear FOR_PRINT * Input Exercises:: Exercises. -@end ifclear * Print:: The @code{print} statement. * Print Examples:: Simple examples of @code{print} statements. @@ -597,9 +595,7 @@ particular records in a file and perform operations upon them. * Close Files And Pipes:: Closing Input and Output Files and Pipes. * Output Summary:: Output summary. -@ifclear FOR_PRINT * Output Exercises:: Exercises. -@end ifclear * Values:: Constants, Variables, and Regular Expressions. * Constants:: String, numeric and regexp constants. @@ -786,9 +782,7 @@ particular records in a file and perform operations upon them. information. * Walking Arrays:: A function to walk arrays of arrays. * Library Functions Summary:: Summary of library functions. -@ifclear FOR_PRINT * Library Exercises:: Exercises. -@end ifclear * Running Examples:: How to run these examples. * Clones:: Clones of common utilities. * Cut Program:: The @command{cut} utility. @@ -819,9 +813,7 @@ particular records in a file and perform operations upon them. * Signature Program:: People do amazing things with too much time on their hands. * Programs Summary:: Summary of programs. -@ifclear FOR_PRINT * Programs Exercises:: Exercises. -@end ifclear * Nondecimal Data:: Allowing nondecimal input data. * Array Sorting:: Facilities for controlling array traversal and sorting arrays. @@ -943,9 +935,7 @@ particular records in a file and perform operations upon them. and @code{sleep()}. * gawkextlib:: The @code{gawkextlib} project. * Extension summary:: Extension summary. -@ifclear FOR_PRINT * Extension Exercises:: Exercises. -@end ifclear * V7/SVR3.1:: The major changes between V7 and System V Release 3.1. * SVR4:: Minor changes between System V @@ -3106,8 +3096,8 @@ features that haven't been covered yet, so don't worry if you don't understand all the details: @example -LC_ALL=C ls -l | awk '$6 == "Nov" @{ sum += $5 @} - END @{ print sum @}' +ls -l | awk '$6 == "Nov" @{ sum += $5 @} + END @{ print sum @}' @end example @cindex @command{ls} utility @@ -5918,9 +5908,7 @@ used with it do not have to be named on the @command{awk} command line * Command-line directories:: What happens if you put a directory on the command line. * Input Summary:: Input summary. -@ifclear FOR_PRINT * Input Exercises:: Exercises. -@end ifclear @end menu @node Records @@ -8284,7 +8272,7 @@ Directories on the command line are fatal for standard @command{awk}; @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Input Exercises @section Exercises @@ -8304,7 +8292,7 @@ starts later on the same line. Write a program that does handle multiple comments on the line. @end enumerate -@end ifclear +@c EXCLUDE END @node Printing @chapter Printing Output @@ -8346,9 +8334,7 @@ and discusses the @code{close()} built-in function. descriptors. * Close Files And Pipes:: Closing Input and Output Files and Pipes. * Output Summary:: Output summary. -@ifclear FOR_PRINT * Output Exercises:: Exercises. -@end ifclear @end menu @node Print @@ -9759,7 +9745,7 @@ communications. @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Output Exercises @section Exercises @@ -9789,7 +9775,7 @@ BEGIN @{ print "Serious error detected!" > /dev/stderr @} @end example @end enumerate -@end ifclear +@c EXCLUDE END @c ENDOFRANGE prnt @@ -19429,9 +19415,7 @@ comparisons use only lowercase letters. * Group Functions:: Functions for getting group information. * Walking Arrays:: A function to walk arrays of arrays. * Library Functions Summary:: Summary of library functions. -@ifclear FOR_PRINT * Library Exercises:: Exercises. -@end ifclear @end menu @node Library Names @@ -21819,7 +21803,7 @@ A simple function to traverse an array of arrays to any depth. @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Library Exercises @section Exercises @@ -21886,7 +21870,7 @@ Test your new version by printing the array; you should end up with output identical to that of the original version. @end enumerate -@end ifclear +@c EXCLUDE END @c ENDOFRANGE flib @c ENDOFRANGE fudlib @@ -21931,9 +21915,7 @@ Many of these programs use library functions presented in * Clones:: Clones of common utilities. * Miscellaneous Programs:: Some interesting @command{awk} programs. * Programs Summary:: Summary of programs. -@ifclear FOR_PRINT * Programs Exercises:: Exercises. -@end ifclear @end menu @node Running Examples @@ -25369,7 +25351,7 @@ mailing labels, and finding anagrams. @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Programs Exercises @section Exercises @@ -25499,7 +25481,7 @@ Modify @file{anagram.awk} (@pxref{Anagram Program}), to avoid the use of the external @command{sort} utility. @end enumerate -@end ifclear +@c EXCLUDE END @ifnotinfo @part @value{PART3}Moving Beyond Standard @command{awk} With @command{gawk} @@ -29902,9 +29884,7 @@ When @option{--sandbox} is specified, extensions are disabled @code{gawk}. * gawkextlib:: The @code{gawkextlib} project. * Extension summary:: Extension summary. -@ifclear FOR_PRINT * Extension Exercises:: Exercises. -@end ifclear @end menu @node Extension Intro @@ -33841,7 +33821,7 @@ should be the place to do so. @end itemize -@ifclear FOR_PRINT +@c EXCLUDE START @node Extension Exercises @section Exercises @@ -33864,7 +33844,7 @@ Write a wrapper script that provides an interface similar to @ref{Extension Sample Inplace}. @end enumerate -@end ifclear +@c EXCLUDE END @ifnotinfo @part @value{PART4}Appendices |