[comp.unix.questions] File existence checks in AWK

lacey@batcomputer.tn.cornell.edu (John Lacey) (07/07/89)

I am adapting/writing a simple database using AWK.  The adapting
part is from the query processor qawk presented in ``The AWK Programming
Language'', by A, K, and W.

I am running on a Gould, and the version of AWK provided is the
early one; hence, it lacks functions, which qawk and I use.  So,
I brought in GNU AWK (gawk) to handle that.  Unfortunately, the
getline built-in is broken in gawk version 2.10.  In particular,

	getline <"file"

hangs instead of returning a -1, if "file" does not exist.

Determining whether a given file exists is crucial to my 
application.  Not so much for functionality as for running
speed. Now, I realize that if I wanted speed I shouldn't
have used AWK, but I think this is little enough to ask.

So, if anyone has a clean, simple way (or any way at all)
of determining in AWK without using getline (at least on
potentially non-existent files) whether a file exists, 
I would love to hear from you.

The real hangup is that the system function doesn't return
the return value of the expression, but rather the status.
So, for example,

	if (system("test -f " filename))
		:
	else
		:

doesn't work.

-- 
John Lacey           |  Internet:  lacey@tcgould.tn.cornell.edu
running unattached   |  BITnet:    lacey@crnlthry
                     |  UUCP:      cornell!batcomputer!lacey
"Whereof one cannot speak, thereof one must remain silent."  ---Wittgenstein