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].