caso de teste: (com um usuário não root, pois o root desconsideraria a permissão 000...)
#in a clean directory:
[ -f file_1 ] && chmod 600 file_? # for repeat tests...
for i in file_1 file_2 file_3; do
printf 'A\nB\n' > "$i"
# we need at least 1 char : awk/gawk silently skips empty files...
done
chmod 000 file_2
awk '(FNR==1) { print FILENAME }' file_?
# tried with : regular (old unixes) awk on AIX. and gawk on Linux.
# the fatal "permission denied" on file_2 stops [g]awk.
Existe uma maneira de detectar esse erro fatal e continuar com os próximos arquivos?
(caso contrário, acho bastante preocupante: usar o awk em vários arquivos não garante o processamento de todos eles, pois ele será encerrado fatalmente se algum deles estiver ilegível)
Por favor, se possível: responda
- para awk normal,
- e para ficar de boca aberta
- e quaisquer outras versões relevantes do awk? (não é? etc)