home *** CD-ROM | disk | FTP | other *** search
- \unnumbchapentry {Preface}{1}
- \unnumbsecentry{History of \code {awk} and \code {gawk}}{1}
- \unnumbchapentry {GNU General Public License}{3}
- \unnumbsecentry{Preamble}{3}
- \unnumbsecentry{TERMS AND CONDITIONS}{4}
- \unnumbsecentry{Appendix: Using These Terms in New Programs}{7}
- \chapentry {Using This Manual}{1}{9}
- \secentry {Data Files for the Examples}{1}{1}{9}
- \chapentry {Getting Started With \code {awk}}{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 \code {awk} Programs}{2}{4}{14}
- \subsecentry {One-shot Throw-away \code {awk} Programs}{2}{4}{1}{15}
- \subsecentry {Running \code {awk} without Input Files}{2}{4}{2}{15}
- \subsecentry {Running Long Programs}{2}{4}{3}{16}
- \subsecentry {Executable \code {awk} Programs}{2}{4}{4}{17}
- \secentry {Comments in \code {awk} Programs}{2}{5}{18}
- \secentry {\code {awk} Statements versus Lines}{2}{6}{18}
- \secentry {When to Use \code {awk}}{2}{7}{19}
- \chapentry {Reading Input Files}{3}{21}
- \secentry {How Input is Split into Records}{3}{1}{21}
- \secentry {Examining Fields}{3}{2}{22}
- \secentry {Non-constant Field Numbers}{3}{3}{24}
- \secentry {Changing the Contents of a Field}{3}{4}{24}
- \secentry {Specifying How Fields Are Separated}{3}{5}{26}
- \secentry {Multiple-Line Records}{3}{6}{29}
- \secentry {Explicit Input with \code {getline}}{3}{7}{30}
- \secentry {Closing Input Files and Pipes}{3}{8}{34}
- \chapentry {Printing Output}{4}{37}
- \secentry {The \code {print} Statement}{4}{1}{37}
- \secentry {Examples of \code {print} Statements}{4}{2}{38}
- \secentry {Output Separators}{4}{3}{39}
- \secentry {Using \code {printf} Statements For Fancier Printing}{4}{4}{40}
- \subsecentry {Introduction to the \code {printf} Statement}{4}{4}{1}{40}
- \subsecentry {Format-Control Letters}{4}{4}{2}{41}
- \subsecentry {Modifiers for \code {printf} Formats}{4}{4}{3}{42}
- \subsecentry {Examples of Using \code {printf}}{4}{4}{4}{42}
- \secentry {Redirecting Output of \code {print} and \code {printf}}{4}{5}{44}
- \subsecentry {Redirecting Output to Files and Pipes}{4}{5}{1}{44}
- \subsecentry {Closing Output Files and Pipes}{4}{5}{2}{45}
- \secentry {Standard I/O Streams}{4}{6}{47}
- \chapentry {Useful ``One-liners''}{5}{49}
- \chapentry {Patterns}{6}{51}
- \secentry {Kinds of Patterns}{6}{1}{51}
- \secentry {The Empty Pattern}{6}{2}{51}
- \secentry {Regular Expressions as Patterns}{6}{3}{51}
- \subsecentry {How to Use Regular Expressions}{6}{3}{1}{52}
- \subsecentry {Regular Expression Operators}{6}{3}{2}{53}
- \subsecentry {Case-sensitivity in Matching}{6}{3}{3}{55}
- \secentry {Comparison Expressions as Patterns}{6}{4}{56}
- \secentry {Boolean Operators and Patterns}{6}{5}{57}
- \secentry {Expressions as Patterns}{6}{6}{58}
- \secentry {Specifying Record Ranges With Patterns}{6}{7}{59}
- \secentry {\code {BEGIN} and \code {END} Special Patterns}{6}{8}{59}
- \chapentry {Actions: Overview}{7}{61}
- \chapentry {Actions: Expressions}{8}{63}
- \secentry {Constant Expressions}{8}{1}{63}
- \secentry {Variables}{8}{2}{65}
- \subsecentry {Assigning Variables on the Command Line}{8}{2}{1}{65}
- \secentry {Arithmetic Operators}{8}{3}{66}
- \secentry {String Concatenation}{8}{4}{67}
- \secentry {Comparison Expressions}{8}{5}{68}
- \secentry {Boolean Expressions}{8}{6}{69}
- \secentry {Assignment Expressions}{8}{7}{70}
- \secentry {Increment Operators}{8}{8}{72}
- \secentry {Conversion of Strings and Numbers}{8}{9}{73}
- \secentry {Conditional Expressions}{8}{10}{74}
- \secentry {Function Calls}{8}{11}{75}
- \secentry {Operator Precedence: How Operators Nest}{8}{12}{76}
- \chapentry {Actions: Control Statements}{9}{79}
- \secentry {The \code {if} Statement}{9}{1}{79}
- \secentry {The \code {while} Statement}{9}{2}{80}
- \secentry {The \code {do}-\code {while} Statement}{9}{3}{81}
- \secentry {The \code {for} Statement}{9}{4}{82}
- \secentry {The \code {break} Statement}{9}{5}{83}
- \secentry {The \code {continue} Statement}{9}{6}{84}
- \secentry {The \code {next} Statement}{9}{7}{86}
- \secentry {The \code {exit} Statement}{9}{8}{86}
- \chapentry {Arrays in \code {awk}}{10}{89}
- \secentry {Introduction to Arrays}{10}{1}{89}
- \secentry {Referring to an Array Element}{10}{2}{91}
- \secentry {Assigning Array Elements}{10}{3}{92}
- \secentry {Basic Example of an Array}{10}{4}{92}
- \secentry {Scanning All Elements of an Array}{10}{5}{93}
- \secentry {The \code {delete} Statement}{10}{6}{94}
- \secentry {Multi-dimensional Arrays}{10}{7}{95}
- \secentry {Scanning Multi-dimensional Arrays}{10}{8}{97}
- \chapentry {Built-in Functions}{11}{99}
- \secentry {Calling Built-in Functions}{11}{1}{99}
- \secentry {Numeric Built-in Functions}{11}{2}{99}
- \secentry {Built-in Functions for String Manipulation}{11}{3}{101}
- \secentry {Built-in Functions For Input/Output}{11}{4}{104}
- \chapentry {User-defined Functions}{12}{105}
- \secentry {Syntax of Function Definitions}{12}{1}{105}
- \secentry {Function Definition Example}{12}{2}{106}
- \secentry {Calling User-defined Functions}{12}{3}{107}
- \secentry {The \code {return} Statement}{12}{4}{109}
- \chapentry {Built-in Variables}{13}{111}
- \secentry {Built-in Variables That Control \code {awk}}{13}{1}{111}
- \secentry {Built-in Variables That Convey Information to You}{13}{2}{112}
- \chapentry {Invocation of \code {awk}}{14}{115}
- \secentry {Command Line Options}{14}{1}{115}
- \secentry {Other Command Line Arguments}{14}{2}{116}
- \secentry {The \code {AWKPATH} Environment Variable}{14}{3}{117}
- \chapentry {The Evolution of the \code {awk} Language}{15}{119}
- \secentry {Major Changes Between V7 and S5R3.1}{15}{1}{119}
- \secentry {Minor Changes between S5R3.1 and S5R4}{15}{2}{120}
- \secentry {Extensions In \code {gawk} Not In S5R4}{15}{3}{120}
- \chapentry {\code {gawk} Summary}{Appendix \char65}{123}
- \secentry {Command Line Options Summary}{\char65}{1}{123}
- \secentry {Language Summary}{\char65}{2}{124}
- \secentry {Variables and Fields}{\char65}{3}{124}
- \subsecentry {Fields}{\char65}{3}{1}{125}
- \subsecentry {Built-in Variables}{\char65}{3}{2}{125}
- \subsecentry {Arrays}{\char65}{3}{3}{126}
- \subsecentry {Data Types}{\char65}{3}{4}{127}
- \secentry {Patterns and Actions}{\char65}{4}{128}
- \subsecentry {Patterns}{\char65}{4}{1}{128}
- \subsecentry {Regular Expressions}{\char65}{4}{2}{130}
- \subsecentry {Actions}{\char65}{4}{3}{130}
- \subsubsecentry{Operators}{\char65}{4}{3}{1}{130}
- \subsubsecentry{Control Statements}{\char65}{4}{3}{2}{131}
- \subsubsecentry{I/O Statements}{\char65}{4}{3}{3}{132}
- \subsubsecentry{\code {printf} Summary}{\char65}{4}{3}{4}{132}
- \subsubsecentry{Special File Names}{\char65}{4}{3}{5}{133}
- \subsubsecentry{Numeric Functions}{\char65}{4}{3}{6}{134}
- \subsubsecentry{String Functions}{\char65}{4}{3}{7}{134}
- \subsubsecentry{String Constants}{\char65}{4}{3}{8}{135}
- \secentry {Functions}{\char65}{5}{136}
- \chapentry {Sample Program}{Appendix \char66}{139}
- \chapentry {Implementation Notes}{Appendix \char67}{141}
- \secentry {Downwards Compatibility and Debugging}{\char67}{1}{141}
- \secentry {Probable Future Extensions}{\char67}{2}{141}
- \secentry {Suggestions for Improvements}{\char67}{3}{142}
- \chapentry {Glossary}{Appendix \char68}{145}
-