diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-10-12 12:39:39 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-10-12 12:39:39 +0300 |
commit | ff37e5d04d28f5d9cd3125ff81487ccfe159a9f4 (patch) | |
tree | 2d21f8fa4a08eb1a6917955f79b43dd4f2a2699c /doc | |
parent | f7fc3e29590612f4c67e39a2772e8ea2e3412f01 (diff) | |
download | egawk-ff37e5d04d28f5d9cd3125ff81487ccfe159a9f4.tar.gz egawk-ff37e5d04d28f5d9cd3125ff81487ccfe159a9f4.tar.bz2 egawk-ff37e5d04d28f5d9cd3125ff81487ccfe159a9f4.zip |
Documentation improvements.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/gawk.info | 1205 | ||||
-rw-r--r-- | doc/gawk.texi | 59 | ||||
-rw-r--r-- | doc/gawktexi.in | 59 |
4 files changed, 688 insertions, 641 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 6b75c550..c5de6bf3 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,9 @@ +2020-10-12 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Explain `ls -l' earlier in the and small wording + improvement in explanation of options. Thanks to Yehezkel Bernat + <yehezkelshb@gmail.com> for the comments. + 2020-10-11 Arnold D. Robbins <arnold@skeeve.com> * gawkworkflow.texi: Fix a spelling error. diff --git a/doc/gawk.info b/doc/gawk.info index 07db0d13..78db2d95 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -2046,10 +2046,34 @@ description of the program will give you a good idea of what is going on, but you'll need to read the rest of the Info file to become an 'awk' expert!) Most of the examples use a data file named 'data'. This is just a placeholder; if you use these programs yourself, substitute your -own file names for 'data'. For future reference, note that there is -often more than one way to do things in 'awk'. At some point, you may -want to look back at these examples and see if you can come up with -different ways to do the same things shown here: +own file names for 'data'. + + Some of the following examples use the output of 'ls -l' as input. +'ls' is a system command that gives you a listing of the files in a +directory. With the '-l' option, this listing includes each file's size +and the date the file was last modified. Its output looks like this: + + -rw-r--r-- 1 arnold user 1933 Nov 7 13:05 Makefile + -rw-r--r-- 1 arnold user 10809 Nov 7 13:03 awk.h + -rw-r--r-- 1 arnold user 983 Apr 13 12:14 awk.tab.h + -rw-r--r-- 1 arnold user 31869 Jun 15 12:20 awkgram.y + -rw-r--r-- 1 arnold user 22414 Nov 7 13:03 awk1.c + -rw-r--r-- 1 arnold user 37455 Nov 7 13:03 awk2.c + -rw-r--r-- 1 arnold user 27511 Dec 9 13:07 awk3.c + -rw-r--r-- 1 arnold user 7989 Nov 7 13:03 awk4.c + +The first field contains read-write permissions, the second field +contains the number of links to the file, and the third field identifies +the file's owner. The fourth field identifies the file's group. The +fifth field contains the file's size in bytes. The sixth, seventh, and +eighth fields contain the month, day, and time, respectively, that the +file was last modified. Finally, the ninth field contains the file +name. + + For future reference, note that there is often more than one way to +do things in 'awk'. At some point, you may want to look back at these +examples and see if you can come up with different ways to do the same +things shown here: * Print every line that is longer than 80 characters: @@ -2176,26 +2200,16 @@ understand all the details: 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). -The 'ls -l' part of this example is a system command that gives you a -listing of the files in a directory, including each file's size and the -date the file was last modified. Its output looks like this: - -rw-r--r-- 1 arnold user 1933 Nov 7 13:05 Makefile - -rw-r--r-- 1 arnold user 10809 Nov 7 13:03 awk.h - -rw-r--r-- 1 arnold user 983 Apr 13 12:14 awk.tab.h - -rw-r--r-- 1 arnold user 31869 Jun 15 12:20 awkgram.y - -rw-r--r-- 1 arnold user 22414 Nov 7 13:03 awk1.c - -rw-r--r-- 1 arnold user 37455 Nov 7 13:03 awk2.c - -rw-r--r-- 1 arnold user 27511 Dec 9 13:07 awk3.c - -rw-r--r-- 1 arnold user 7989 Nov 7 13:03 awk4.c - -The first field contains read-write permissions, the second field -contains the number of links to the file, and the third field identifies -the file's owner. The fourth field identifies the file's group. The -fifth field contains the file's size in bytes. The sixth, seventh, and -eighth fields contain the month, day, and time, respectively, that the -file was last modified. Finally, the ninth field contains the file -name. + As a reminder, the output of 'ls -l' gives you a listing of the files +in a directory, including each file's size and the date the file was +last modified. The first field contains read-write permissions, the +second field contains the number of links to the file, and the third +field identifies the file's owner. The fourth field identifies the +file's group. The fifth field contains the file's size in bytes. The +sixth, seventh, and eighth fields contain the month, day, and time, +respectively, that the file was last modified. Finally, the ninth field +contains the file name. The '$6 == "Nov"' in our 'awk' program is an expression that tests whether the sixth field of the output from 'ls -l' matches the string @@ -2485,7 +2499,7 @@ uniquely identified. If the option takes an argument, either the keyword is immediately followed by an equals sign ('=') and the argument's value, or the keyword and the argument's value are separated by whitespace (spaces or TABs). If a particular option with a value is -given more than once, it is the last value that counts. +given more than once, it is (usually) the last value that counts. Each long option for 'gawk' has a corresponding POSIX-style short option. The long and short options are interchangeable in all contexts. @@ -35871,7 +35885,7 @@ Index * exit the debugger <1>: Miscellaneous Debugger Commands. (line 100) * exp: Numeric Functions. (line 19) -* expand utility: Very Simple. (line 73) +* expand utility: Very Simple. (line 97) * Expat XML parser library: gawkextlib. (line 40) * exponent: Numeric Functions. (line 19) * expressions: Expressions. (line 6) @@ -36434,7 +36448,7 @@ Index * infinite precision: Arbitrary Precision Arithmetic. (line 6) * info debugger command: Debugger Info. (line 13) -* initialization, automatic: More Complex. (line 39) +* initialization, automatic: More Complex. (line 28) * inplace extension: Extension Sample Inplace. (line 6) * input, standard: Read Terminal. (line 6) @@ -36593,7 +36607,7 @@ Index * libraries of awk functions, example program for using: Igawk Program. (line 6) * line breaks: Statements/Lines. (line 6) -* line continuations, with C shell: More Complex. (line 31) +* line continuations, with C shell: Statements/Lines. (line 45) * line continuations, in print statement: Print Examples. (line 75) * line continuations: Boolean Ops. (line 64) * line continuations, gawk: Conditional Exp. (line 34) @@ -36642,7 +36656,8 @@ Index * loops, for, array scanning: Scanning an Array. (line 6) * loops, count for header, in a profile: Profiling. (line 131) * loops <1>: While Statement. (line 6) -* ls utility: More Complex. (line 15) +* ls utility: Very Simple. (line 55) +* ls utility <1>: More Complex. (line 15) * lshift: Bitwise Functions. (line 47) * lvalues/rvalues: Assignment Ops. (line 31) * mail-list file: Sample Data Files. (line 6) @@ -37919,573 +37934,573 @@ Node: Quoting89096 Node: DOS Quoting94622 Node: Sample Data Files96678 Node: Very Simple99273 -Node: Two Rules104175 -Node: More Complex106060 -Node: Statements/Lines108926 -Ref: Statements/Lines-Footnote-1113410 -Node: Other Features113675 -Node: When114611 -Ref: When-Footnote-1116365 -Node: Intro Summary116430 -Node: Invoking Gawk117314 -Node: Command Line118828 -Node: Options119626 -Ref: Options-Footnote-1137530 -Ref: Options-Footnote-2137761 -Node: Other Arguments137786 -Node: Naming Standard Input141093 -Node: Environment Variables142303 -Node: AWKPATH Variable142861 -Ref: AWKPATH Variable-Footnote-1146273 -Ref: AWKPATH Variable-Footnote-2146307 -Node: AWKLIBPATH Variable146678 -Ref: AWKLIBPATH Variable-Footnote-1148375 -Node: Other Environment Variables148750 -Node: Exit Status152571 -Node: Include Files153248 -Node: Loading Shared Libraries156938 -Node: Obsolete158366 -Node: Undocumented159058 -Node: Invoking Summary159355 -Node: Regexp162196 -Node: Regexp Usage163650 -Node: Escape Sequences165687 -Node: Regexp Operators171928 -Node: Regexp Operator Details172413 -Ref: Regexp Operator Details-Footnote-1178845 -Node: Interval Expressions178992 -Ref: Interval Expressions-Footnote-1180413 -Node: Bracket Expressions180511 -Ref: table-char-classes182987 -Node: Leftmost Longest186313 -Node: Computed Regexps187616 -Node: GNU Regexp Operators191043 -Node: Case-sensitivity194780 -Ref: Case-sensitivity-Footnote-1197646 -Ref: Case-sensitivity-Footnote-2197881 -Node: Regexp Summary197989 -Node: Reading Files199455 -Node: Records201724 -Node: awk split records202799 -Node: gawk split records208074 -Ref: gawk split records-Footnote-1212807 -Node: Fields212844 -Node: Nonconstant Fields215585 -Ref: Nonconstant Fields-Footnote-1217821 -Node: Changing Fields218025 -Node: Field Separators224056 -Node: Default Field Splitting226754 -Node: Regexp Field Splitting227872 -Node: Single Character Fields231225 -Node: Command Line Field Separator232285 -Node: Full Line Fields235503 -Ref: Full Line Fields-Footnote-1237025 -Ref: Full Line Fields-Footnote-2237071 -Node: Field Splitting Summary237172 -Node: Constant Size239246 -Node: Fixed width data239978 -Node: Skipping intervening243445 -Node: Allowing trailing data244243 -Node: Fields with fixed data245280 -Node: Splitting By Content246798 -Ref: Splitting By Content-Footnote-1250581 -Node: More CSV250744 -Node: Testing field creation252054 -Node: Multiple Line253679 -Node: Getline259956 -Node: Plain Getline262425 -Node: Getline/Variable264998 -Node: Getline/File266149 -Node: Getline/Variable/File267537 -Ref: Getline/Variable/File-Footnote-1269142 -Node: Getline/Pipe269230 -Node: Getline/Variable/Pipe271934 -Node: Getline/Coprocess273069 -Node: Getline/Variable/Coprocess274336 -Node: Getline Notes275078 -Node: Getline Summary277875 -Ref: table-getline-variants278299 -Node: Read Timeout279047 -Ref: Read Timeout-Footnote-1282953 -Node: Retrying Input283011 -Node: Command-line directories284210 -Node: Input Summary285116 -Node: Input Exercises288288 -Node: Printing288722 -Node: Print290556 -Node: Print Examples292013 -Node: Output Separators294793 -Node: OFMT296810 -Node: Printf298166 -Node: Basic Printf298951 -Node: Control Letters300525 -Node: Format Modifiers305689 -Node: Printf Examples311704 -Node: Redirection314190 -Node: Special FD321031 -Ref: Special FD-Footnote-1324199 -Node: Special Files324273 -Node: Other Inherited Files324890 -Node: Special Network325891 -Node: Special Caveats326751 -Node: Close Files And Pipes327700 -Ref: table-close-pipe-return-values334607 -Ref: Close Files And Pipes-Footnote-1335420 -Ref: Close Files And Pipes-Footnote-2335568 -Node: Nonfatal335720 -Node: Output Summary338058 -Node: Output Exercises339280 -Node: Expressions339959 -Node: Values341147 -Node: Constants341825 -Node: Scalar Constants342516 -Ref: Scalar Constants-Footnote-1345026 -Node: Nondecimal-numbers345276 -Node: Regexp Constants348277 -Node: Using Constant Regexps348803 -Node: Standard Regexp Constants349425 -Node: Strong Regexp Constants352613 -Node: Variables355625 -Node: Using Variables356282 -Node: Assignment Options358192 -Node: Conversion360663 -Node: Strings And Numbers361187 -Ref: Strings And Numbers-Footnote-1364250 -Node: Locale influences conversions364359 -Ref: table-locale-affects367117 -Node: All Operators367735 -Node: Arithmetic Ops368364 -Node: Concatenation371080 -Ref: Concatenation-Footnote-1373927 -Node: Assignment Ops374034 -Ref: table-assign-ops379025 -Node: Increment Ops380338 -Node: Truth Values and Conditions383798 -Node: Truth Values384872 -Node: Typing and Comparison385920 -Node: Variable Typing386740 -Ref: Variable Typing-Footnote-1393203 -Ref: Variable Typing-Footnote-2393275 -Node: Comparison Operators393352 -Ref: table-relational-ops393771 -Node: POSIX String Comparison397266 -Ref: POSIX String Comparison-Footnote-1398961 -Ref: POSIX String Comparison-Footnote-2399100 -Node: Boolean Ops399184 -Ref: Boolean Ops-Footnote-1403666 -Node: Conditional Exp403758 -Node: Function Calls405494 -Node: Precedence409371 -Node: Locales413030 -Node: Expressions Summary414662 -Node: Patterns and Actions417235 -Node: Pattern Overview418355 -Node: Regexp Patterns420032 -Node: Expression Patterns420574 -Node: Ranges424355 -Node: BEGIN/END427463 -Node: Using BEGIN/END428224 -Ref: Using BEGIN/END-Footnote-1430978 -Node: I/O And BEGIN/END431084 -Node: BEGINFILE/ENDFILE433397 -Node: Empty436628 -Node: Using Shell Variables436945 -Node: Action Overview439219 -Node: Statements441544 -Node: If Statement443392 -Node: While Statement444887 -Node: Do Statement446915 -Node: For Statement448063 -Node: Switch Statement451234 -Node: Break Statement453675 -Node: Continue Statement455767 -Node: Next Statement457594 -Node: Nextfile Statement459977 -Node: Exit Statement462629 -Node: Built-in Variables465032 -Node: User-modified466165 -Node: Auto-set473932 -Ref: Auto-set-Footnote-1490739 -Ref: Auto-set-Footnote-2490945 -Node: ARGC and ARGV491001 -Node: Pattern Action Summary495214 -Node: Arrays497644 -Node: Array Basics498973 -Node: Array Intro499817 -Ref: figure-array-elements501792 -Ref: Array Intro-Footnote-1504496 -Node: Reference to Elements504624 -Node: Assigning Elements507088 -Node: Array Example507579 -Node: Scanning an Array509338 -Node: Controlling Scanning512360 -Ref: Controlling Scanning-Footnote-1518816 -Node: Numeric Array Subscripts519132 -Node: Uninitialized Subscripts521316 -Node: Delete522935 -Ref: Delete-Footnote-1525687 -Node: Multidimensional525744 -Node: Multiscanning528839 -Node: Arrays of Arrays530430 -Node: Arrays Summary535198 -Node: Functions537291 -Node: Built-in538329 -Node: Calling Built-in539410 -Node: Numeric Functions541406 -Ref: Numeric Functions-Footnote-1545434 -Ref: Numeric Functions-Footnote-2546082 -Ref: Numeric Functions-Footnote-3546130 -Node: String Functions546402 -Ref: String Functions-Footnote-1570543 -Ref: String Functions-Footnote-2570671 -Ref: String Functions-Footnote-3570919 -Node: Gory Details571006 -Ref: table-sub-escapes572797 -Ref: table-sub-proposed574316 -Ref: table-posix-sub575679 -Ref: table-gensub-escapes577220 -Ref: Gory Details-Footnote-1578043 -Node: I/O Functions578197 -Ref: table-system-return-values584651 -Ref: I/O Functions-Footnote-1586731 -Ref: I/O Functions-Footnote-2586879 -Node: Time Functions586999 -Ref: Time Functions-Footnote-1597670 -Ref: Time Functions-Footnote-2597738 -Ref: Time Functions-Footnote-3597896 -Ref: Time Functions-Footnote-4598007 -Ref: Time Functions-Footnote-5598119 -Ref: Time Functions-Footnote-6598346 -Node: Bitwise Functions598612 -Ref: table-bitwise-ops599206 -Ref: Bitwise Functions-Footnote-1605269 -Ref: Bitwise Functions-Footnote-2605442 -Node: Type Functions605633 -Node: I18N Functions608496 -Node: User-defined610147 -Node: Definition Syntax610959 -Ref: Definition Syntax-Footnote-1616653 -Node: Function Example616724 -Ref: Function Example-Footnote-1619646 -Node: Function Calling619668 -Node: Calling A Function620256 -Node: Variable Scope621214 -Node: Pass By Value/Reference624208 -Node: Function Caveats626852 -Ref: Function Caveats-Footnote-1628899 -Node: Return Statement629019 -Node: Dynamic Typing631998 -Node: Indirect Calls632928 -Ref: Indirect Calls-Footnote-1643180 -Node: Functions Summary643308 -Node: Library Functions646013 -Ref: Library Functions-Footnote-1649620 -Ref: Library Functions-Footnote-2649763 -Node: Library Names649934 -Ref: Library Names-Footnote-1653601 -Ref: Library Names-Footnote-2653824 -Node: General Functions653910 -Node: Strtonum Function655013 -Node: Assert Function658035 -Node: Round Function661361 -Node: Cliff Random Function662901 -Node: Ordinal Functions663917 -Ref: Ordinal Functions-Footnote-1666980 -Ref: Ordinal Functions-Footnote-2667232 -Node: Join Function667442 -Ref: Join Function-Footnote-1669212 -Node: Getlocaltime Function669412 -Node: Readfile Function673154 -Node: Shell Quoting675131 -Node: Data File Management676532 -Node: Filetrans Function677164 -Node: Rewind Function681260 -Node: File Checking683169 -Ref: File Checking-Footnote-1684503 -Node: Empty Files684704 -Node: Ignoring Assigns686683 -Node: Getopt Function688233 -Ref: Getopt Function-Footnote-1703444 -Node: Passwd Functions703644 -Ref: Passwd Functions-Footnote-1712483 -Node: Group Functions712571 -Ref: Group Functions-Footnote-1720469 -Node: Walking Arrays720676 -Node: Library Functions Summary723684 -Node: Library Exercises725090 -Node: Sample Programs725555 -Node: Running Examples726325 -Node: Clones727053 -Node: Cut Program728277 -Node: Egrep Program738206 -Node: Id Program747217 -Node: Split Program757164 -Ref: Split Program-Footnote-1766938 -Node: Tee Program767111 -Node: Uniq Program769901 -Node: Wc Program777465 -Node: Bytes vs. Characters777862 -Node: Using extensions779410 -Node: wc program780168 -Node: Miscellaneous Programs785033 -Node: Dupword Program786246 -Node: Alarm Program788276 -Node: Translate Program793131 -Ref: Translate Program-Footnote-1797696 -Node: Labels Program797966 -Ref: Labels Program-Footnote-1801317 -Node: Word Sorting801401 -Node: History Sorting805473 -Node: Extract Program807698 -Node: Simple Sed815752 -Node: Igawk Program818826 -Ref: Igawk Program-Footnote-1833157 -Ref: Igawk Program-Footnote-2833359 -Ref: Igawk Program-Footnote-3833481 -Node: Anagram Program833596 -Node: Signature Program836658 -Node: Programs Summary837905 -Node: Programs Exercises839119 -Ref: Programs Exercises-Footnote-1843249 -Node: Advanced Features843335 -Node: Nondecimal Data845325 -Node: Array Sorting846916 -Node: Controlling Array Traversal847616 -Ref: Controlling Array Traversal-Footnote-1855984 -Node: Array Sorting Functions856102 -Ref: Array Sorting Functions-Footnote-1861193 -Node: Two-way I/O861389 -Ref: Two-way I/O-Footnote-1869110 -Ref: Two-way I/O-Footnote-2869297 -Node: TCP/IP Networking869379 -Node: Profiling872497 -Node: Advanced Features Summary881811 -Node: Internationalization883655 -Node: I18N and L10N885135 -Node: Explaining gettext885822 -Ref: Explaining gettext-Footnote-1891714 -Ref: Explaining gettext-Footnote-2891899 -Node: Programmer i18n892064 -Ref: Programmer i18n-Footnote-1897013 -Node: Translator i18n897062 -Node: String Extraction897856 -Ref: String Extraction-Footnote-1898988 -Node: Printf Ordering899074 -Ref: Printf Ordering-Footnote-1901860 -Node: I18N Portability901924 -Ref: I18N Portability-Footnote-1904380 -Node: I18N Example904443 -Ref: I18N Example-Footnote-1907718 -Ref: I18N Example-Footnote-2907791 -Node: Gawk I18N907900 -Node: I18N Summary908549 -Node: Debugger909890 -Node: Debugging910890 -Node: Debugging Concepts911331 -Node: Debugging Terms913140 -Node: Awk Debugging915715 -Ref: Awk Debugging-Footnote-1916660 -Node: Sample Debugging Session916792 -Node: Debugger Invocation917326 -Node: Finding The Bug918712 -Node: List of Debugger Commands925186 -Node: Breakpoint Control926519 -Node: Debugger Execution Control930213 -Node: Viewing And Changing Data933575 -Node: Execution Stack937116 -Node: Debugger Info938753 -Node: Miscellaneous Debugger Commands942824 -Node: Readline Support947886 -Node: Limitations948782 -Node: Debugging Summary951336 -Node: Namespaces952615 -Node: Global Namespace953726 -Node: Qualified Names955124 -Node: Default Namespace956123 -Node: Changing The Namespace956864 -Node: Naming Rules958478 -Node: Internal Name Management960326 -Node: Namespace Example961368 -Node: Namespace And Features963930 -Node: Namespace Summary965365 -Node: Arbitrary Precision Arithmetic966842 -Node: Computer Arithmetic968329 -Ref: table-numeric-ranges972095 -Ref: table-floating-point-ranges972588 -Ref: Computer Arithmetic-Footnote-1973246 -Node: Math Definitions973303 -Ref: table-ieee-formats976619 -Ref: Math Definitions-Footnote-1977222 -Node: MPFR features977327 -Node: FP Math Caution979045 -Ref: FP Math Caution-Footnote-1980117 -Node: Inexactness of computations980486 -Node: Inexact representation981446 -Node: Comparing FP Values982806 -Node: Errors accumulate984047 -Node: Getting Accuracy985480 -Node: Try To Round988190 -Node: Setting precision989089 -Ref: table-predefined-precision-strings989786 -Node: Setting the rounding mode991616 -Ref: table-gawk-rounding-modes991990 -Ref: Setting the rounding mode-Footnote-1995921 -Node: Arbitrary Precision Integers996100 -Ref: Arbitrary Precision Integers-Footnote-1999275 -Node: Checking for MPFR999424 -Node: POSIX Floating Point Problems1000898 -Ref: POSIX Floating Point Problems-Footnote-11005183 -Node: Floating point summary1005221 -Node: Dynamic Extensions1007411 -Node: Extension Intro1008964 -Node: Plugin License1010230 -Node: Extension Mechanism Outline1011027 -Ref: figure-load-extension1011466 -Ref: figure-register-new-function1013031 -Ref: figure-call-new-function1014123 -Node: Extension API Description1016185 -Node: Extension API Functions Introduction1017898 -Ref: table-api-std-headers1019734 -Node: General Data Types1023983 -Ref: General Data Types-Footnote-11032613 -Node: Memory Allocation Functions1032912 -Ref: Memory Allocation Functions-Footnote-11037413 -Node: Constructor Functions1037512 -Node: API Ownership of MPFR and GMP Values1040978 -Node: Registration Functions1042291 -Node: Extension Functions1042991 -Node: Exit Callback Functions1048313 -Node: Extension Version String1049563 -Node: Input Parsers1050226 -Node: Output Wrappers1062947 -Node: Two-way processors1067459 -Node: Printing Messages1069724 -Ref: Printing Messages-Footnote-11070895 -Node: Updating ERRNO1071048 -Node: Requesting Values1071787 -Ref: table-value-types-returned1072524 -Node: Accessing Parameters1073460 -Node: Symbol Table Access1074697 -Node: Symbol table by name1075209 -Ref: Symbol table by name-Footnote-11078233 -Node: Symbol table by cookie1078361 -Ref: Symbol table by cookie-Footnote-11082546 -Node: Cached values1082610 -Ref: Cached values-Footnote-11086146 -Node: Array Manipulation1086299 -Ref: Array Manipulation-Footnote-11087390 -Node: Array Data Types1087427 -Ref: Array Data Types-Footnote-11090085 -Node: Array Functions1090177 -Node: Flattening Arrays1094675 -Node: Creating Arrays1101651 -Node: Redirection API1106418 -Node: Extension API Variables1109251 -Node: Extension Versioning1109962 -Ref: gawk-api-version1110391 -Node: Extension GMP/MPFR Versioning1112122 -Node: Extension API Informational Variables1113750 -Node: Extension API Boilerplate1114823 -Node: Changes from API V11118797 -Node: Finding Extensions1120369 -Node: Extension Example1120928 -Node: Internal File Description1121726 -Node: Internal File Ops1125806 -Ref: Internal File Ops-Footnote-11137156 -Node: Using Internal File Ops1137296 -Ref: Using Internal File Ops-Footnote-11139679 -Node: Extension Samples1139953 -Node: Extension Sample File Functions1141482 -Node: Extension Sample Fnmatch1149131 -Node: Extension Sample Fork1150618 -Node: Extension Sample Inplace1151836 -Node: Extension Sample Ord1155462 -Node: Extension Sample Readdir1156298 -Ref: table-readdir-file-types1157187 -Node: Extension Sample Revout1158254 -Node: Extension Sample Rev2way1158843 -Node: Extension Sample Read write array1159583 -Node: Extension Sample Readfile1161525 -Node: Extension Sample Time1162620 -Node: Extension Sample API Tests1164372 -Node: gawkextlib1164864 -Node: Extension summary1167782 -Node: Extension Exercises1171484 -Node: Language History1172726 -Node: V7/SVR3.11174382 -Node: SVR41176534 -Node: POSIX1177968 -Node: BTL1179349 -Node: POSIX/GNU1180078 -Node: Feature History1185856 -Node: Common Extensions1202175 -Node: Ranges and Locales1203458 -Ref: Ranges and Locales-Footnote-11208074 -Ref: Ranges and Locales-Footnote-21208101 -Ref: Ranges and Locales-Footnote-31208336 -Node: Contributors1208559 -Node: History summary1214556 -Node: Installation1215936 -Node: Gawk Distribution1216880 -Node: Getting1217364 -Node: Extracting1218327 -Node: Distribution contents1219965 -Node: Unix Installation1226445 -Node: Quick Installation1227127 -Node: Shell Startup Files1229541 -Node: Additional Configuration Options1230630 -Node: Configuration Philosophy1232945 -Node: Non-Unix Installation1235314 -Node: PC Installation1235774 -Node: PC Binary Installation1236612 -Node: PC Compiling1237047 -Node: PC Using1238164 -Node: Cygwin1241717 -Node: MSYS1242941 -Node: VMS Installation1243543 -Node: VMS Compilation1244334 -Ref: VMS Compilation-Footnote-11245563 -Node: VMS Dynamic Extensions1245621 -Node: VMS Installation Details1247306 -Node: VMS Running1249559 -Node: VMS GNV1253838 -Node: VMS Old Gawk1254573 -Node: Bugs1255044 -Node: Bug address1255707 -Node: Usenet1258689 -Node: Maintainers1259693 -Node: Other Versions1260878 -Node: Installation summary1267966 -Node: Notes1269175 -Node: Compatibility Mode1269969 -Node: Additions1270751 -Node: Accessing The Source1271676 -Node: Adding Code1273113 -Node: New Ports1279332 -Node: Derived Files1283707 -Ref: Derived Files-Footnote-11289367 -Ref: Derived Files-Footnote-21289402 -Ref: Derived Files-Footnote-31290000 -Node: Future Extensions1290114 -Node: Implementation Limitations1290772 -Node: Extension Design1291982 -Node: Old Extension Problems1293126 -Ref: Old Extension Problems-Footnote-11294644 -Node: Extension New Mechanism Goals1294701 -Ref: Extension New Mechanism Goals-Footnote-11298065 -Node: Extension Other Design Decisions1298254 -Node: Extension Future Growth1300367 -Node: Notes summary1300973 -Node: Basic Concepts1302131 -Node: Basic High Level1302812 -Ref: figure-general-flow1303094 -Ref: figure-process-flow1303779 -Ref: Basic High Level-Footnote-11307080 -Node: Basic Data Typing1307265 -Node: Glossary1310593 -Node: Copying1342478 -Node: GNU Free Documentation License1380021 -Node: Index1405141 +Node: Two Rules105375 +Node: More Complex107260 +Node: Statements/Lines109592 +Ref: Statements/Lines-Footnote-1114076 +Node: Other Features114341 +Node: When115277 +Ref: When-Footnote-1117031 +Node: Intro Summary117096 +Node: Invoking Gawk117980 +Node: Command Line119494 +Node: Options120292 +Ref: Options-Footnote-1138206 +Ref: Options-Footnote-2138437 +Node: Other Arguments138462 +Node: Naming Standard Input141769 +Node: Environment Variables142979 +Node: AWKPATH Variable143537 +Ref: AWKPATH Variable-Footnote-1146949 +Ref: AWKPATH Variable-Footnote-2146983 +Node: AWKLIBPATH Variable147354 +Ref: AWKLIBPATH Variable-Footnote-1149051 +Node: Other Environment Variables149426 +Node: Exit Status153247 +Node: Include Files153924 +Node: Loading Shared Libraries157614 +Node: Obsolete159042 +Node: Undocumented159734 +Node: Invoking Summary160031 +Node: Regexp162872 +Node: Regexp Usage164326 +Node: Escape Sequences166363 +Node: Regexp Operators172604 +Node: Regexp Operator Details173089 +Ref: Regexp Operator Details-Footnote-1179521 +Node: Interval Expressions179668 +Ref: Interval Expressions-Footnote-1181089 +Node: Bracket Expressions181187 +Ref: table-char-classes183663 +Node: Leftmost Longest186989 +Node: Computed Regexps188292 +Node: GNU Regexp Operators191719 +Node: Case-sensitivity195456 +Ref: Case-sensitivity-Footnote-1198322 +Ref: Case-sensitivity-Footnote-2198557 +Node: Regexp Summary198665 +Node: Reading Files200131 +Node: Records202400 +Node: awk split records203475 +Node: gawk split records208750 +Ref: gawk split records-Footnote-1213483 +Node: Fields213520 +Node: Nonconstant Fields216261 +Ref: Nonconstant Fields-Footnote-1218497 +Node: Changing Fields218701 +Node: Field Separators224732 +Node: Default Field Splitting227430 +Node: Regexp Field Splitting228548 +Node: Single Character Fields231901 +Node: Command Line Field Separator232961 +Node: Full Line Fields236179 +Ref: Full Line Fields-Footnote-1237701 +Ref: Full Line Fields-Footnote-2237747 +Node: Field Splitting Summary237848 +Node: Constant Size239922 +Node: Fixed width data240654 +Node: Skipping intervening244121 +Node: Allowing trailing data244919 +Node: Fields with fixed data245956 +Node: Splitting By Content247474 +Ref: Splitting By Content-Footnote-1251257 +Node: More CSV251420 +Node: Testing field creation252730 +Node: Multiple Line254355 +Node: Getline260632 +Node: Plain Getline263101 +Node: Getline/Variable265674 +Node: Getline/File266825 +Node: Getline/Variable/File268213 +Ref: Getline/Variable/File-Footnote-1269818 +Node: Getline/Pipe269906 +Node: Getline/Variable/Pipe272610 +Node: Getline/Coprocess273745 +Node: Getline/Variable/Coprocess275012 +Node: Getline Notes275754 +Node: Getline Summary278551 +Ref: table-getline-variants278975 +Node: Read Timeout279723 +Ref: Read Timeout-Footnote-1283629 +Node: Retrying Input283687 +Node: Command-line directories284886 +Node: Input Summary285792 +Node: Input Exercises288964 +Node: Printing289398 +Node: Print291232 +Node: Print Examples292689 +Node: Output Separators295469 +Node: OFMT297486 +Node: Printf298842 +Node: Basic Printf299627 +Node: Control Letters301201 +Node: Format Modifiers306365 +Node: Printf Examples312380 +Node: Redirection314866 +Node: Special FD321707 +Ref: Special FD-Footnote-1324875 +Node: Special Files324949 +Node: Other Inherited Files325566 +Node: Special Network326567 +Node: Special Caveats327427 +Node: Close Files And Pipes328376 +Ref: table-close-pipe-return-values335283 +Ref: Close Files And Pipes-Footnote-1336096 +Ref: Close Files And Pipes-Footnote-2336244 +Node: Nonfatal336396 +Node: Output Summary338734 +Node: Output Exercises339956 +Node: Expressions340635 +Node: Values341823 +Node: Constants342501 +Node: Scalar Constants343192 +Ref: Scalar Constants-Footnote-1345702 +Node: Nondecimal-numbers345952 +Node: Regexp Constants348953 +Node: Using Constant Regexps349479 +Node: Standard Regexp Constants350101 +Node: Strong Regexp Constants353289 +Node: Variables356301 +Node: Using Variables356958 +Node: Assignment Options358868 +Node: Conversion361339 +Node: Strings And Numbers361863 +Ref: Strings And Numbers-Footnote-1364926 +Node: Locale influences conversions365035 +Ref: table-locale-affects367793 +Node: All Operators368411 +Node: Arithmetic Ops369040 +Node: Concatenation371756 +Ref: Concatenation-Footnote-1374603 +Node: Assignment Ops374710 +Ref: table-assign-ops379701 +Node: Increment Ops381014 +Node: Truth Values and Conditions384474 +Node: Truth Values385548 +Node: Typing and Comparison386596 +Node: Variable Typing387416 +Ref: Variable Typing-Footnote-1393879 +Ref: Variable Typing-Footnote-2393951 +Node: Comparison Operators394028 +Ref: table-relational-ops394447 +Node: POSIX String Comparison397942 +Ref: POSIX String Comparison-Footnote-1399637 +Ref: POSIX String Comparison-Footnote-2399776 +Node: Boolean Ops399860 +Ref: Boolean Ops-Footnote-1404342 +Node: Conditional Exp404434 +Node: Function Calls406170 +Node: Precedence410047 +Node: Locales413706 +Node: Expressions Summary415338 +Node: Patterns and Actions417911 +Node: Pattern Overview419031 +Node: Regexp Patterns420708 +Node: Expression Patterns421250 +Node: Ranges425031 +Node: BEGIN/END428139 +Node: Using BEGIN/END428900 +Ref: Using BEGIN/END-Footnote-1431654 +Node: I/O And BEGIN/END431760 +Node: BEGINFILE/ENDFILE434073 +Node: Empty437304 +Node: Using Shell Variables437621 +Node: Action Overview439895 +Node: Statements442220 +Node: If Statement444068 +Node: While Statement445563 +Node: Do Statement447591 +Node: For Statement448739 +Node: Switch Statement451910 +Node: Break Statement454351 +Node: Continue Statement456443 +Node: Next Statement458270 +Node: Nextfile Statement460653 +Node: Exit Statement463305 +Node: Built-in Variables465708 +Node: User-modified466841 +Node: Auto-set474608 +Ref: Auto-set-Footnote-1491415 +Ref: Auto-set-Footnote-2491621 +Node: ARGC and ARGV491677 +Node: Pattern Action Summary495890 +Node: Arrays498320 +Node: Array Basics499649 +Node: Array Intro500493 +Ref: figure-array-elements502468 +Ref: Array Intro-Footnote-1505172 +Node: Reference to Elements505300 +Node: Assigning Elements507764 +Node: Array Example508255 +Node: Scanning an Array510014 +Node: Controlling Scanning513036 +Ref: Controlling Scanning-Footnote-1519492 +Node: Numeric Array Subscripts519808 +Node: Uninitialized Subscripts521992 +Node: Delete523611 +Ref: Delete-Footnote-1526363 +Node: Multidimensional526420 +Node: Multiscanning529515 +Node: Arrays of Arrays531106 +Node: Arrays Summary535874 +Node: Functions537967 +Node: Built-in539005 +Node: Calling Built-in540086 +Node: Numeric Functions542082 +Ref: Numeric Functions-Footnote-1546110 +Ref: Numeric Functions-Footnote-2546758 +Ref: Numeric Functions-Footnote-3546806 +Node: String Functions547078 +Ref: String Functions-Footnote-1571219 +Ref: String Functions-Footnote-2571347 +Ref: String Functions-Footnote-3571595 +Node: Gory Details571682 +Ref: table-sub-escapes573473 +Ref: table-sub-proposed574992 +Ref: table-posix-sub576355 +Ref: table-gensub-escapes577896 +Ref: Gory Details-Footnote-1578719 +Node: I/O Functions578873 +Ref: table-system-return-values585327 +Ref: I/O Functions-Footnote-1587407 +Ref: I/O Functions-Footnote-2587555 +Node: Time Functions587675 +Ref: Time Functions-Footnote-1598346 +Ref: Time Functions-Footnote-2598414 +Ref: Time Functions-Footnote-3598572 +Ref: Time Functions-Footnote-4598683 +Ref: Time Functions-Footnote-5598795 +Ref: Time Functions-Footnote-6599022 +Node: Bitwise Functions599288 +Ref: table-bitwise-ops599882 +Ref: Bitwise Functions-Footnote-1605945 +Ref: Bitwise Functions-Footnote-2606118 +Node: Type Functions606309 +Node: I18N Functions609172 +Node: User-defined610823 +Node: Definition Syntax611635 +Ref: Definition Syntax-Footnote-1617329 +Node: Function Example617400 +Ref: Function Example-Footnote-1620322 +Node: Function Calling620344 +Node: Calling A Function620932 +Node: Variable Scope621890 +Node: Pass By Value/Reference624884 +Node: Function Caveats627528 +Ref: Function Caveats-Footnote-1629575 +Node: Return Statement629695 +Node: Dynamic Typing632674 +Node: Indirect Calls633604 +Ref: Indirect Calls-Footnote-1643856 +Node: Functions Summary643984 +Node: Library Functions646689 +Ref: Library Functions-Footnote-1650296 +Ref: Library Functions-Footnote-2650439 +Node: Library Names650610 +Ref: Library Names-Footnote-1654277 +Ref: Library Names-Footnote-2654500 +Node: General Functions654586 +Node: Strtonum Function655689 +Node: Assert Function658711 +Node: Round Function662037 +Node: Cliff Random Function663577 +Node: Ordinal Functions664593 +Ref: Ordinal Functions-Footnote-1667656 +Ref: Ordinal Functions-Footnote-2667908 +Node: Join Function668118 +Ref: Join Function-Footnote-1669888 +Node: Getlocaltime Function670088 +Node: Readfile Function673830 +Node: Shell Quoting675807 +Node: Data File Management677208 +Node: Filetrans Function677840 +Node: Rewind Function681936 +Node: File Checking683845 +Ref: File Checking-Footnote-1685179 +Node: Empty Files685380 +Node: Ignoring Assigns687359 +Node: Getopt Function688909 +Ref: Getopt Function-Footnote-1704120 +Node: Passwd Functions704320 +Ref: Passwd Functions-Footnote-1713159 +Node: Group Functions713247 +Ref: Group Functions-Footnote-1721145 +Node: Walking Arrays721352 +Node: Library Functions Summary724360 +Node: Library Exercises725766 +Node: Sample Programs726231 +Node: Running Examples727001 +Node: Clones727729 +Node: Cut Program728953 +Node: Egrep Program738882 +Node: Id Program747893 +Node: Split Program757840 +Ref: Split Program-Footnote-1767614 +Node: Tee Program767787 +Node: Uniq Program770577 +Node: Wc Program778141 +Node: Bytes vs. Characters778538 +Node: Using extensions780086 +Node: wc program780844 +Node: Miscellaneous Programs785709 +Node: Dupword Program786922 +Node: Alarm Program788952 +Node: Translate Program793807 +Ref: Translate Program-Footnote-1798372 +Node: Labels Program798642 +Ref: Labels Program-Footnote-1801993 +Node: Word Sorting802077 +Node: History Sorting806149 +Node: Extract Program808374 +Node: Simple Sed816428 +Node: Igawk Program819502 +Ref: Igawk Program-Footnote-1833833 +Ref: Igawk Program-Footnote-2834035 +Ref: Igawk Program-Footnote-3834157 +Node: Anagram Program834272 +Node: Signature Program837334 +Node: Programs Summary838581 +Node: Programs Exercises839795 +Ref: Programs Exercises-Footnote-1843925 +Node: Advanced Features844011 +Node: Nondecimal Data846001 +Node: Array Sorting847592 +Node: Controlling Array Traversal848292 +Ref: Controlling Array Traversal-Footnote-1856660 +Node: Array Sorting Functions856778 +Ref: Array Sorting Functions-Footnote-1861869 +Node: Two-way I/O862065 +Ref: Two-way I/O-Footnote-1869786 +Ref: Two-way I/O-Footnote-2869973 +Node: TCP/IP Networking870055 +Node: Profiling873173 +Node: Advanced Features Summary882487 +Node: Internationalization884331 +Node: I18N and L10N885811 +Node: Explaining gettext886498 +Ref: Explaining gettext-Footnote-1892390 +Ref: Explaining gettext-Footnote-2892575 +Node: Programmer i18n892740 +Ref: Programmer i18n-Footnote-1897689 +Node: Translator i18n897738 +Node: String Extraction898532 +Ref: String Extraction-Footnote-1899664 +Node: Printf Ordering899750 +Ref: Printf Ordering-Footnote-1902536 +Node: I18N Portability902600 +Ref: I18N Portability-Footnote-1905056 +Node: I18N Example905119 +Ref: I18N Example-Footnote-1908394 +Ref: I18N Example-Footnote-2908467 +Node: Gawk I18N908576 +Node: I18N Summary909225 +Node: Debugger910566 +Node: Debugging911566 +Node: Debugging Concepts912007 +Node: Debugging Terms913816 +Node: Awk Debugging916391 +Ref: Awk Debugging-Footnote-1917336 +Node: Sample Debugging Session917468 +Node: Debugger Invocation918002 +Node: Finding The Bug919388 +Node: List of Debugger Commands925862 +Node: Breakpoint Control927195 +Node: Debugger Execution Control930889 +Node: Viewing And Changing Data934251 +Node: Execution Stack937792 +Node: Debugger Info939429 +Node: Miscellaneous Debugger Commands943500 +Node: Readline Support948562 +Node: Limitations949458 +Node: Debugging Summary952012 +Node: Namespaces953291 +Node: Global Namespace954402 +Node: Qualified Names955800 +Node: Default Namespace956799 +Node: Changing The Namespace957540 +Node: Naming Rules959154 +Node: Internal Name Management961002 +Node: Namespace Example962044 +Node: Namespace And Features964606 +Node: Namespace Summary966041 +Node: Arbitrary Precision Arithmetic967518 +Node: Computer Arithmetic969005 +Ref: table-numeric-ranges972771 +Ref: table-floating-point-ranges973264 +Ref: Computer Arithmetic-Footnote-1973922 +Node: Math Definitions973979 +Ref: table-ieee-formats977295 +Ref: Math Definitions-Footnote-1977898 +Node: MPFR features978003 +Node: FP Math Caution979721 +Ref: FP Math Caution-Footnote-1980793 +Node: Inexactness of computations981162 +Node: Inexact representation982122 +Node: Comparing FP Values983482 +Node: Errors accumulate984723 +Node: Getting Accuracy986156 +Node: Try To Round988866 +Node: Setting precision989765 +Ref: table-predefined-precision-strings990462 +Node: Setting the rounding mode992292 +Ref: table-gawk-rounding-modes992666 +Ref: Setting the rounding mode-Footnote-1996597 +Node: Arbitrary Precision Integers996776 +Ref: Arbitrary Precision Integers-Footnote-1999951 +Node: Checking for MPFR1000100 +Node: POSIX Floating Point Problems1001574 +Ref: POSIX Floating Point Problems-Footnote-11005859 +Node: Floating point summary1005897 +Node: Dynamic Extensions1008087 +Node: Extension Intro1009640 +Node: Plugin License1010906 +Node: Extension Mechanism Outline1011703 +Ref: figure-load-extension1012142 +Ref: figure-register-new-function1013707 +Ref: figure-call-new-function1014799 +Node: Extension API Description1016861 +Node: Extension API Functions Introduction1018574 +Ref: table-api-std-headers1020410 +Node: General Data Types1024659 +Ref: General Data Types-Footnote-11033289 +Node: Memory Allocation Functions1033588 +Ref: Memory Allocation Functions-Footnote-11038089 +Node: Constructor Functions1038188 +Node: API Ownership of MPFR and GMP Values1041654 +Node: Registration Functions1042967 +Node: Extension Functions1043667 +Node: Exit Callback Functions1048989 +Node: Extension Version String1050239 +Node: Input Parsers1050902 +Node: Output Wrappers1063623 +Node: Two-way processors1068135 +Node: Printing Messages1070400 +Ref: Printing Messages-Footnote-11071571 +Node: Updating ERRNO1071724 +Node: Requesting Values1072463 +Ref: table-value-types-returned1073200 +Node: Accessing Parameters1074136 +Node: Symbol Table Access1075373 +Node: Symbol table by name1075885 +Ref: Symbol table by name-Footnote-11078909 +Node: Symbol table by cookie1079037 +Ref: Symbol table by cookie-Footnote-11083222 +Node: Cached values1083286 +Ref: Cached values-Footnote-11086822 +Node: Array Manipulation1086975 +Ref: Array Manipulation-Footnote-11088066 +Node: Array Data Types1088103 +Ref: Array Data Types-Footnote-11090761 +Node: Array Functions1090853 +Node: Flattening Arrays1095351 +Node: Creating Arrays1102327 +Node: Redirection API1107094 +Node: Extension API Variables1109927 +Node: Extension Versioning1110638 +Ref: gawk-api-version1111067 +Node: Extension GMP/MPFR Versioning1112798 +Node: Extension API Informational Variables1114426 +Node: Extension API Boilerplate1115499 +Node: Changes from API V11119473 +Node: Finding Extensions1121045 +Node: Extension Example1121604 +Node: Internal File Description1122402 +Node: Internal File Ops1126482 +Ref: Internal File Ops-Footnote-11137832 +Node: Using Internal File Ops1137972 +Ref: Using Internal File Ops-Footnote-11140355 +Node: Extension Samples1140629 +Node: Extension Sample File Functions1142158 +Node: Extension Sample Fnmatch1149807 +Node: Extension Sample Fork1151294 +Node: Extension Sample Inplace1152512 +Node: Extension Sample Ord1156138 +Node: Extension Sample Readdir1156974 +Ref: table-readdir-file-types1157863 +Node: Extension Sample Revout1158930 +Node: Extension Sample Rev2way1159519 +Node: Extension Sample Read write array1160259 +Node: Extension Sample Readfile1162201 +Node: Extension Sample Time1163296 +Node: Extension Sample API Tests1165048 +Node: gawkextlib1165540 +Node: Extension summary1168458 +Node: Extension Exercises1172160 +Node: Language History1173402 +Node: V7/SVR3.11175058 +Node: SVR41177210 +Node: POSIX1178644 +Node: BTL1180025 +Node: POSIX/GNU1180754 +Node: Feature History1186532 +Node: Common Extensions1202851 +Node: Ranges and Locales1204134 +Ref: Ranges and Locales-Footnote-11208750 +Ref: Ranges and Locales-Footnote-21208777 +Ref: Ranges and Locales-Footnote-31209012 +Node: Contributors1209235 +Node: History summary1215232 +Node: Installation1216612 +Node: Gawk Distribution1217556 +Node: Getting1218040 +Node: Extracting1219003 +Node: Distribution contents1220641 +Node: Unix Installation1227121 +Node: Quick Installation1227803 +Node: Shell Startup Files1230217 +Node: Additional Configuration Options1231306 +Node: Configuration Philosophy1233621 +Node: Non-Unix Installation1235990 +Node: PC Installation1236450 +Node: PC Binary Installation1237288 +Node: PC Compiling1237723 +Node: PC Using1238840 +Node: Cygwin1242393 +Node: MSYS1243617 +Node: VMS Installation1244219 +Node: VMS Compilation1245010 +Ref: VMS Compilation-Footnote-11246239 +Node: VMS Dynamic Extensions1246297 +Node: VMS Installation Details1247982 +Node: VMS Running1250235 +Node: VMS GNV1254514 +Node: VMS Old Gawk1255249 +Node: Bugs1255720 +Node: Bug address1256383 +Node: Usenet1259365 +Node: Maintainers1260369 +Node: Other Versions1261554 +Node: Installation summary1268642 +Node: Notes1269851 +Node: Compatibility Mode1270645 +Node: Additions1271427 +Node: Accessing The Source1272352 +Node: Adding Code1273789 +Node: New Ports1280008 +Node: Derived Files1284383 +Ref: Derived Files-Footnote-11290043 +Ref: Derived Files-Footnote-21290078 +Ref: Derived Files-Footnote-31290676 +Node: Future Extensions1290790 +Node: Implementation Limitations1291448 +Node: Extension Design1292658 +Node: Old Extension Problems1293802 +Ref: Old Extension Problems-Footnote-11295320 +Node: Extension New Mechanism Goals1295377 +Ref: Extension New Mechanism Goals-Footnote-11298741 +Node: Extension Other Design Decisions1298930 +Node: Extension Future Growth1301043 +Node: Notes summary1301649 +Node: Basic Concepts1302807 +Node: Basic High Level1303488 +Ref: figure-general-flow1303770 +Ref: figure-process-flow1304455 +Ref: Basic High Level-Footnote-11307756 +Node: Basic Data Typing1307941 +Node: Glossary1311269 +Node: Copying1343154 +Node: GNU Free Documentation License1380697 +Node: Index1405817 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 4bb18413..1500c045 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -3252,6 +3252,32 @@ need to read the rest of the @value{DOCUMENT} to become an @command{awk} expert! Most of the examples use a @value{DF} named @file{data}. This is just a placeholder; if you use these programs yourself, substitute your own @value{FN}s for @file{data}. + +@cindex @command{ls} utility +Some of the following examples use the output of @w{@samp{ls -l}} as input. +@command{ls} is a system command that gives you a listing of the files in a +directory. With the @option{-l} option, this listing includes each file's +size and the date the file was last modified. Its output looks like this: + +@example +-rw-r--r-- 1 arnold user 1933 Nov 7 13:05 Makefile +-rw-r--r-- 1 arnold user 10809 Nov 7 13:03 awk.h +-rw-r--r-- 1 arnold user 983 Apr 13 12:14 awk.tab.h +-rw-r--r-- 1 arnold user 31869 Jun 15 12:20 awkgram.y +-rw-r--r-- 1 arnold user 22414 Nov 7 13:03 awk1.c +-rw-r--r-- 1 arnold user 37455 Nov 7 13:03 awk2.c +-rw-r--r-- 1 arnold user 27511 Dec 9 13:07 awk3.c +-rw-r--r-- 1 arnold user 7989 Nov 7 13:03 awk4.c +@end example + +@noindent +The first field contains read-write permissions, the second field contains +the number of links to the file, and the third field identifies the +file's owner. The fourth field identifies the file's group. The fifth +field contains the file's size in bytes. The sixth, seventh, and eighth +fields contain the month, day, and time, respectively, that the file +was last modified. Finally, the ninth field contains the @value{FN}. + For future reference, note that there is often more than one way to do things in @command{awk}. At some point, you may want to look back at these examples and see if @@ -3432,28 +3458,14 @@ ls -l | awk '$6 == "Nov" @{ sum += $5 @} @cindex @command{ls} utility 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). -The @w{@samp{ls -l}} part of this example is a system command that gives -you a listing of the files in a directory, including each file's size and the date -the file was last modified. Its output looks like this: - -@example --rw-r--r-- 1 arnold user 1933 Nov 7 13:05 Makefile --rw-r--r-- 1 arnold user 10809 Nov 7 13:03 awk.h --rw-r--r-- 1 arnold user 983 Apr 13 12:14 awk.tab.h --rw-r--r-- 1 arnold user 31869 Jun 15 12:20 awkgram.y --rw-r--r-- 1 arnold user 22414 Nov 7 13:03 awk1.c --rw-r--r-- 1 arnold user 37455 Nov 7 13:03 awk2.c --rw-r--r-- 1 arnold user 27511 Dec 9 13:07 awk3.c --rw-r--r-- 1 arnold user 7989 Nov 7 13:03 awk4.c -@end example -@noindent -@cindex line continuations @subentry with C shell -The first field contains read-write permissions, the second field contains -the number of links to the file, and the third field identifies the file's owner. -The fourth field identifies the file's group. -The fifth field contains the file's size in bytes. The -sixth, seventh, and eighth fields contain the month, day, and time, +As a reminder, the output of @w{@samp{ls -l}} gives you a listing of the +files in a directory, including each file's size and the date the file +was last modified. The first field contains read-write permissions, +the second field contains the number of links to the file, and the +third field identifies the file's owner. The fourth field identifies +the file's group. The fifth field contains the file's size in bytes. +The sixth, seventh, and eighth fields contain the month, day, and time, respectively, that the file was last modified. Finally, the ninth field contains the @value{FN}. @@ -3546,6 +3558,7 @@ lines in the middle of a regular expression or a string. @c solaris 2.7 nawk does not. Solaris /usr/xpg4/bin/awk does though! sigh. @cindex @command{csh} utility +@cindex line continuations @subentry with C shell @cindex backslash (@code{\}) @subentry continuing lines and @subentry in @command{csh} @cindex @code{\} (backslash) @subentry continuing lines and @subentry in @command{csh} @quotation CAUTION @@ -3819,8 +3832,8 @@ to be uniquely identified. If the option takes an argument, either the keyword is immediately followed by an equals sign (@samp{=}) and the argument's value, or the keyword and the argument's value are separated by whitespace (spaces or TABs). -If a particular option with a value is given more than once, it is the -last value that counts. +If a particular option with a value is given more than once, it is (usually) +the last value that counts. @cindex POSIX @command{awk} @subentry GNU long options and Each long option for @command{gawk} has a corresponding diff --git a/doc/gawktexi.in b/doc/gawktexi.in index e7852f75..e8494b6d 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -3162,6 +3162,32 @@ need to read the rest of the @value{DOCUMENT} to become an @command{awk} expert! Most of the examples use a @value{DF} named @file{data}. This is just a placeholder; if you use these programs yourself, substitute your own @value{FN}s for @file{data}. + +@cindex @command{ls} utility +Some of the following examples use the output of @w{@samp{ls -l}} as input. +@command{ls} is a system command that gives you a listing of the files in a +directory. With the @option{-l} option, this listing includes each file's +size and the date the file was last modified. Its output looks like this: + +@example +-rw-r--r-- 1 arnold user 1933 Nov 7 13:05 Makefile +-rw-r--r-- 1 arnold user 10809 Nov 7 13:03 awk.h +-rw-r--r-- 1 arnold user 983 Apr 13 12:14 awk.tab.h +-rw-r--r-- 1 arnold user 31869 Jun 15 12:20 awkgram.y +-rw-r--r-- 1 arnold user 22414 Nov 7 13:03 awk1.c +-rw-r--r-- 1 arnold user 37455 Nov 7 13:03 awk2.c +-rw-r--r-- 1 arnold user 27511 Dec 9 13:07 awk3.c +-rw-r--r-- 1 arnold user 7989 Nov 7 13:03 awk4.c +@end example + +@noindent +The first field contains read-write permissions, the second field contains +the number of links to the file, and the third field identifies the +file's owner. The fourth field identifies the file's group. The fifth +field contains the file's size in bytes. The sixth, seventh, and eighth +fields contain the month, day, and time, respectively, that the file +was last modified. Finally, the ninth field contains the @value{FN}. + For future reference, note that there is often more than one way to do things in @command{awk}. At some point, you may want to look back at these examples and see if @@ -3342,28 +3368,14 @@ ls -l | awk '$6 == "Nov" @{ sum += $5 @} @cindex @command{ls} utility 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). -The @w{@samp{ls -l}} part of this example is a system command that gives -you a listing of the files in a directory, including each file's size and the date -the file was last modified. Its output looks like this: - -@example --rw-r--r-- 1 arnold user 1933 Nov 7 13:05 Makefile --rw-r--r-- 1 arnold user 10809 Nov 7 13:03 awk.h --rw-r--r-- 1 arnold user 983 Apr 13 12:14 awk.tab.h --rw-r--r-- 1 arnold user 31869 Jun 15 12:20 awkgram.y --rw-r--r-- 1 arnold user 22414 Nov 7 13:03 awk1.c --rw-r--r-- 1 arnold user 37455 Nov 7 13:03 awk2.c --rw-r--r-- 1 arnold user 27511 Dec 9 13:07 awk3.c --rw-r--r-- 1 arnold user 7989 Nov 7 13:03 awk4.c -@end example -@noindent -@cindex line continuations @subentry with C shell -The first field contains read-write permissions, the second field contains -the number of links to the file, and the third field identifies the file's owner. -The fourth field identifies the file's group. -The fifth field contains the file's size in bytes. The -sixth, seventh, and eighth fields contain the month, day, and time, +As a reminder, the output of @w{@samp{ls -l}} gives you a listing of the +files in a directory, including each file's size and the date the file +was last modified. The first field contains read-write permissions, +the second field contains the number of links to the file, and the +third field identifies the file's owner. The fourth field identifies +the file's group. The fifth field contains the file's size in bytes. +The sixth, seventh, and eighth fields contain the month, day, and time, respectively, that the file was last modified. Finally, the ninth field contains the @value{FN}. @@ -3456,6 +3468,7 @@ lines in the middle of a regular expression or a string. @c solaris 2.7 nawk does not. Solaris /usr/xpg4/bin/awk does though! sigh. @cindex @command{csh} utility +@cindex line continuations @subentry with C shell @cindex backslash (@code{\}) @subentry continuing lines and @subentry in @command{csh} @cindex @code{\} (backslash) @subentry continuing lines and @subentry in @command{csh} @quotation CAUTION @@ -3729,8 +3742,8 @@ to be uniquely identified. If the option takes an argument, either the keyword is immediately followed by an equals sign (@samp{=}) and the argument's value, or the keyword and the argument's value are separated by whitespace (spaces or TABs). -If a particular option with a value is given more than once, it is the -last value that counts. +If a particular option with a value is given more than once, it is (usually) +the last value that counts. @cindex POSIX @command{awk} @subentry GNU long options and Each long option for @command{gawk} has a corresponding |