[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Normally, if you give awk
a data file that isn't readable,
it stops with a fatal error. There are times when you
might want to just ignore such files and keep going. You can
do this by prepending the following program to your awk
program:
# readable.awk --- library file to skip over unreadable files BEGIN { for (i = 1; i < ARGC; i++) { if (ARGV[i] ~ /^[A-Za-z_][A-Za-z0-9_]*=.*/ \ || ARGV[i] == "-") continue # assignment or standard input else if ((getline junk < ARGV[i]) < 0) # unreadable delete ARGV[i] else close(ARGV[i]) } } |
In gawk
, the getline
won't be fatal (unless
`--posix' is in force).
Removing the element from ARGV
with delete
skips the file (since it's no longer in the list).