Next: Printing, Previous: Regexp, Up: Top   [Contents][Index]


4 Reading Input Files

In the typical awk program, awk reads all input either from the standard input (by default, this is the keyboard, but often it is a pipe from another command) or from files whose names you specify on the awk command line. If you specify input files, awk reads them in order, processing all the data from one before going on to the next. The name of the current input file can be found in the predefined variable FILENAME (see section Predefined Variables).

The input is read in units called records, and is processed by the rules of your program one record at a time. By default, each record is one line. Each record is automatically split into chunks called fields. This makes it more convenient for programs to work on the parts of a record.

On rare occasions, you may need to use the getline command. The getline command is valuable both because it can do explicit input from any number of files, and because the files used with it do not have to be named on the awk command line (see section Explicit Input with getline).

Records    Controlling how data is split into records.
Fields    An introduction to fields.
Nonconstant Fields    Nonconstant Field Numbers.
Changing Fields    Changing the Contents of a Field.
Field Separators    The field separator and how to change it.
Constant Size    Reading constant width data.
Splitting By Content    Defining Fields By Content
Testing field creation    Checking how gawk is splitting

records.

Multiple Line    Reading multiline records.
Getline    Reading files under explicit program control

using the getline function.

Read Timeout    Reading input with a timeout.
Retrying Input    Retrying input after certain errors.
Command-line directories    What happens if you put a directory on the

command line.

Input Summary    Input summary.
Input Exercises    Exercises.

Next: Printing, Previous: Regexp, Up: Top   [Contents][Index]