The *getline* command can obtain input from any number of files and does not require a command line parameter to be provided for the [filename]. The following summarises six variants of getline applications, listing which variables are set by each one:
*Variant* | *Variables Set* |
getline | $0, ${1...NF}, NF, FNR, NR, FILENAME |
getline foobar | foobar, FNR, NR, FILENAME |
getline < foobar.txt | $0, ${1...NF}, NF |
getline foobar < foobar.txt | foobar |
foo | getline | $0, ${1...NF}, NF |
foo | getline foobar | foobar |
If a [[failure?]] occurs during the getline operation, the special variable [[ERRNO?]] should becomes set and the awk script should [[abort?]] with a [[fatal?]] error. However, some versions of awk do not [[abort?]] following the [[failure?]] of getline.
The getline function does not have a corresponding '''putline''' function. In awk, output to a specific file is achieved by using redirection.