Есть ли способ сделать awk (gawk) игнорировать или пропускать файлы? То есть файлы передаются в командной строке, которые больше не существуют в файловой системе (например, быстро появляются/исчезают файлы в/proc/[1-9] *).Может ли awk пропускать файлы, которые не существуют, без гонок?
По умолчанию, отсутствующий файл является фатальной ошибкой :-(
Я хотел бы быть в состоянии сделать эквивалент чего-то вроде этого:
BEGIN { MISSING_FILES_ARE_FATAL = 0 } # <- Wishful thinking!
{ count++ }
END { print count }
Сценарий обертка не может проверить, что файлы существуют befor awk, так как они могут исчезать между временем их проверки и awk затем пытается открыть их, т. е. это состояние гонки. (Это также условие гонки, чтобы проверить и затем открыть в awk, хотя время более жесткое)