home *** CD-ROM | disk | FTP | other *** search
- \unnumbchapentry {Preface}{1}
- \unnumbsecentry{History of {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} and {\fam \ttfam \tentt \rawbackslash \frenchspacing gawk}\hbox {}}{1}
- \unnumbchapentry {GNU GENERAL PUBLIC LICENSE}{3}
- \unnumbsecentry{Preamble}{3}
- \unnumbsecentry{TERMS AND CONDITIONS}{4}
- \unnumbsecentry{Appendix: How to Apply These Terms to Your New Programs}{7}
- \chapentry {Using This Manual}{1}{9}
- \secentry {Input Files for the Examples}{1}{1}{9}
- \chapentry {Getting Started With {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}{2}{11}
- \secentry {A Very Simple Example}{2}{1}{11}
- \secentry {An Example with Two Rules}{2}{2}{12}
- \secentry {A More Complex Example}{2}{3}{13}
- \secentry {How to Run {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} Programs}{2}{4}{14}
- \subsecentry {One--shot Throw--away {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} Programs}{2}{4}{1}{15}
- \subsecentry {Running {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} without Input Files}{2}{4}{2}{15}
- \subsecentry {Running Long Programs}{2}{4}{3}{16}
- \subsecentry {Executable {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} Programs}{2}{4}{4}{17}
- \subsecentry {Details of the {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} Command Line}{2}{4}{5}{18}
- \secentry {Comments in {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} Programs}{2}{5}{19}
- \secentry {{\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {} Statements versus Lines}{2}{6}{20}
- \secentry {When to Use {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}{2}{7}{21}
- \chapentry {Reading Files (Input)}{3}{23}
- \secentry {How Input is Split into Records}{3}{1}{23}
- \secentry {Examining Fields}{3}{2}{24}
- \secentry {Non-constant Field Numbers}{3}{3}{26}
- \secentry {Changing the Contents of a Field}{3}{4}{27}
- \secentry {Specifying How Fields Are Separated}{3}{5}{28}
- \secentry {Multiple--Line Records}{3}{6}{31}
- \secentry {Assigning Variables on the Command Line}{3}{7}{32}
- \secentry {Explicit Input with {\fam \ttfam \tentt \rawbackslash \frenchspacing getline}\hbox {}}{3}{8}{32}
- \subsecentry {Closing Input Files}{3}{8}{1}{36}
- \chapentry {Printing Output}{4}{39}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing print}\hbox {} Statement}{4}{1}{39}
- \secentry {Examples of {\fam \ttfam \tentt \rawbackslash \frenchspacing print}\hbox {} Statements}{4}{2}{40}
- \secentry {Output Separators}{4}{3}{41}
- \secentry {Redirecting Output of {\fam \ttfam \tentt \rawbackslash \frenchspacing print}\hbox {} and {\fam \ttfam \tentt \rawbackslash \frenchspacing printf}\hbox {}}{4}{4}{42}
- \subsecentry {Closing Output Files and Pipes}{4}{4}{1}{43}
- \secentry {Using {\fam \ttfam \tentt \rawbackslash \frenchspacing printf}\hbox {} Statements For Fancier Printing}{4}{5}{44}
- \subsecentry {Introduction to the {\fam \ttfam \tentt \rawbackslash \frenchspacing printf}\hbox {} Statement}{4}{5}{1}{45}
- \subsecentry {Format--Control Characters}{4}{5}{2}{45}
- \subsecentry {Modifiers for {\fam \ttfam \tentt \rawbackslash \frenchspacing printf}\hbox {} Formats}{4}{5}{3}{46}
- \subsecentry {Examples of Using {\fam \ttfam \tentt \rawbackslash \frenchspacing printf}\hbox {}}{4}{5}{4}{46}
- \chapentry {Useful ``One-liners''}{5}{49}
- \chapentry {Patterns}{6}{51}
- \secentry {The Empty Pattern}{6}{1}{51}
- \secentry {Regular Expressions as Patterns}{6}{2}{52}
- \subsecentry {How to use Regular Expressions}{6}{2}{1}{52}
- \subsecentry {Regular Expression Operators}{6}{2}{2}{53}
- \secentry {Comparison Expressions as Patterns}{6}{3}{55}
- \secentry {Specifying Record Ranges With Patterns}{6}{4}{56}
- \secentry {{\fam \ttfam \tentt \rawbackslash \frenchspacing BEGIN}\hbox {} and {\fam \ttfam \tentt \rawbackslash \frenchspacing END}\hbox {} Special Patterns}{6}{5}{57}
- \secentry {Boolean Operators and Patterns}{6}{6}{58}
- \secentry {Conditional Patterns}{6}{7}{59}
- \chapentry {Actions: The Basics}{7}{61}
- \chapentry {Actions: Expressions}{8}{63}
- \secentry {Constant Expressions}{8}{1}{63}
- \secentry {Variables}{8}{2}{64}
- \secentry {Arithmetic Operators}{8}{3}{65}
- \secentry {String Concatenation}{8}{4}{65}
- \secentry {Comparison Expressions}{8}{5}{66}
- \secentry {Boolean Operators}{8}{6}{67}
- \secentry {Assignment Operators}{8}{7}{68}
- \secentry {Increment Operators}{8}{8}{70}
- \secentry {Conversion of Strings and Numbers}{8}{9}{71}
- \secentry {Conditional Expressions}{8}{10}{72}
- \secentry {Function Calls}{8}{11}{73}
- \chapentry {Actions: Statements}{9}{75}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing if}\hbox {} Statement}{9}{1}{75}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing while}\hbox {} Statement}{9}{2}{76}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing do}\hbox {}--{\fam \ttfam \tentt \rawbackslash \frenchspacing while}\hbox {} Statement}{9}{3}{77}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing for}\hbox {} Statement}{9}{4}{77}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing break}\hbox {} Statement}{9}{5}{79}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing continue}\hbox {} Statement}{9}{6}{80}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing next}\hbox {} Statement}{9}{7}{81}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing exit}\hbox {} Statement}{9}{8}{82}
- \chapentry {Actions: Using Arrays in {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}{10}{83}
- \secentry {Introduction to Arrays}{10}{1}{83}
- \secentry {Referring to an Array Element}{10}{2}{85}
- \secentry {Assigning Array Elements}{10}{3}{86}
- \secentry {Basic Example of an Array}{10}{4}{86}
- \secentry {Scanning All Elements of an Array}{10}{5}{87}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing delete}\hbox {} Statement}{10}{6}{88}
- \secentry {Multi--dimensional arrays}{10}{7}{89}
- \secentry {Scanning Multi--dimensional Arrays}{10}{8}{91}
- \chapentry {Built--in functions}{11}{93}
- \secentry {Numeric Built--in Functions}{11}{1}{93}
- \secentry {Built--in Functions for String Manipulation}{11}{2}{95}
- \secentry {Built--in Functions for I/O to Files and Commands}{11}{3}{98}
- \chapentry {User--defined Functions}{12}{99}
- \secentry {Syntax of Function Definitions}{12}{1}{99}
- \secentry {Function Definition Example}{12}{2}{100}
- \secentry {Caveats of Function Calling}{12}{3}{101}
- \secentry {The {\fam \ttfam \tentt \rawbackslash \frenchspacing return}\hbox {} statement}{12}{4}{102}
- \chapentry {Special Variables}{13}{105}
- \secentry {Special Variables That Control {\fam \ttfam \tentt \rawbackslash \frenchspacing awk}\hbox {}}{13}{1}{105}
- \secentry {Special Variables That Convey Information to You}{13}{2}{106}
- \chapentry {Sample Program}{Appendix \char 65}{109}
- \chapentry {Implementation Notes}{Appendix \char 66}{111}
- \secentry {GNU Extensions to the AWK Language}{\char 66}{1}{111}
- \secentry {Extensions Likely To Appear In A Future Release}{\char 66}{2}{111}
- \secentry {Suggestions for Future Improvements}{\char 66}{3}{112}
- \secentry {Suggestions For Future Improvements of This Manual}{\char 66}{4}{113}
- \chapentry {Glossary}{Appendix \char 67}{115}
- \unnumbchapentry {Index}{119}
-