gawk: Extension Sample Readfile
16.7.10 Reading an Entire File
------------------------------
The 'readfile' extension adds a single function named 'readfile()', and
an input parser:
'@load "readfile"'
This is how you load the extension.
'result = readfile("/some/path")'
The argument is the name of the file to read. The return value is
a string containing the entire contents of the requested file.
Upon error, the function returns the empty string and sets 'ERRNO'.
'BEGIN { PROCINFO["readfile"] = 1 }'
In addition, the extension adds an input parser that is activated
if 'PROCINFO["readfile"]' exists. When activated, each input file
is returned in its entirety as '$0'. 'RT' is set to the null
string.
Here is an example:
@load "readfile"
...
contents = readfile("/path/to/file");
if (contents == "" && ERRNO != "") {
print("problem reading file", ERRNO) > "/dev/stderr"
...
}