manpagez: man pages & more
info gawk
Home | html | info | man

File: gawk.info,  Node: This Manual,  Next: Conventions,  Prev: Names,  Up: Preface

Using This Book
===============

The term 'awk' refers to a particular program as well as to the language
you use to tell this program what to do.  When we need to be careful, we
call the language "the 'awk' language," and the program "the 'awk'
utility."  This Info file explains both how to write programs in the
'awk' language and how to run the 'awk' utility.  The term "'awk'
program" refers to a program written by you in the 'awk' programming
language.

   Primarily, this Info file explains the features of 'awk' as defined
in the POSIX standard.  It does so in the context of the 'gawk'
implementation.  While doing so, it also attempts to describe important
differences between 'gawk' and other 'awk' implementations.(1)  Finally,
it notes any 'gawk' features that are not in the POSIX standard for
'awk'.

   There are sidebars scattered throughout the Info file.  They add a
more complete explanation of points that are relevant, but not likely to
be of interest on first reading.  All appear in the index, under the
heading "sidebar."

   Most of the time, the examples use complete 'awk' programs.  Some of
the more advanced minor nodes show only the part of the 'awk' program
that illustrates the concept being described.

   Although this Info file is aimed principally at people who have not
been exposed to 'awk', there is a lot of information here that even the
'awk' expert should find useful.  In particular, the description of
POSIX 'awk' and the example programs in *note Library Functions::, and
in *note Sample Programs::, should be of interest.

   This Info file is split into several parts, as follows:

   * Part I describes the 'awk' language and the 'gawk' program in
     detail.  It starts with the basics, and continues through all of
     the features of 'awk'.  It contains the following chapters:

        - *note Getting Started::, provides the essentials you need to
          know to begin using 'awk'.

        - *note Invoking Gawk::, describes how to run 'gawk', the
          meaning of its command-line options, and how it finds 'awk'
          program source files.

        - *note Regexp::, introduces regular expressions in general, and
          in particular the flavors supported by POSIX 'awk' and 'gawk'.

        - *note Reading Files::, describes how 'awk' reads your data.
          It introduces the concepts of records and fields, as well as
          the 'getline' command.  I/O redirection is first described
          here.  Network I/O is also briefly introduced here.

        - *note Printing::, describes how 'awk' programs can produce
          output with 'print' and 'printf'.

        - *note Expressions::, describes expressions, which are the
          basic building blocks for getting most things done in a
          program.

        - *note Patterns and Actions::, describes how to write patterns
          for matching records, actions for doing something when a
          record is matched, and the predefined variables 'awk' and
          'gawk' use.

        - *note Arrays::, covers 'awk''s one-and-only data structure:
          the associative array.  Deleting array elements and whole
          arrays is described, as well as sorting arrays in 'gawk'.  The
          major node also describes how 'gawk' provides arrays of
          arrays.

        - *note Functions::, describes the built-in functions 'awk' and
          'gawk' provide, as well as how to define your own functions.
          It also discusses how 'gawk' lets you call functions
          indirectly.

   * Part II shows how to use 'awk' and 'gawk' for problem solving.
     There is lots of code here for you to read and learn from.  This
     part contains the following chapters:

        - *note Library Functions::, provides a number of functions
          meant to be used from main 'awk' programs.

        - *note Sample Programs::, provides many sample 'awk' programs.

     Reading these two chapters allows you to see 'awk' solving real
     problems.

   * Part III focuses on features specific to 'gawk'.  It contains the
     following chapters:

        - *note Advanced Features::, describes a number of advanced
          features.  Of particular note are the abilities to control the
          order of array traversal, have two-way communications with
          another process, perform TCP/IP networking, and profile your
          'awk' programs.

        - *note Internationalization::, describes special features for
          translating program messages into different languages at
          runtime.

        - *note Debugger::, describes the 'gawk' debugger.

        - *note Namespaces::, describes how 'gawk' allows variables
          and/or functions of the same name to be in different
          namespaces.

        - *note Arbitrary Precision Arithmetic::, describes advanced
          arithmetic facilities.

        - *note Dynamic Extensions::, describes how to add new variables
          and functions to 'gawk' by writing extensions in C or C++.

   * Part IV provides the appendices, the Glossary, and two licenses
     that cover the 'gawk' source code and this Info file, respectively.
     It contains the following appendices:

        - *note Language History::, describes how the 'awk' language has
          evolved since its first release to the present.  It also
          describes how 'gawk' has acquired features over time.

        - *note Installation::, describes how to get 'gawk', how to
          compile it on POSIX-compatible systems, and how to compile and
          use it on different non-POSIX systems.  It also describes how
          to report bugs in 'gawk' and where to get other freely
          available 'awk' implementations.

        - *note Notes::, describes how to disable 'gawk''s extensions,
          as well as how to contribute new code to 'gawk', and some
          possible future directions for 'gawk' development.

        - *note Basic Concepts::, provides some very cursory background
          material for those who are completely unfamiliar with computer
          programming.

        - The *note Glossary::, defines most, if not all, of the
          significant terms used throughout the Info file.  If you find
          terms that you aren't familiar with, try looking them up here.

        - *note Copying::, and *note GNU Free Documentation License::,
          present the licenses that cover the 'gawk' source code and
          this Info file, respectively.

   ---------- Footnotes ----------

   (1) All such differences appear in the index under the entry
"differences in 'awk' and 'gawk'."

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.