В программе awk
блок END
запускается, когда вы прочитали все данные, так что нет входной строки для разбора. (Вы можете обнаружить, что некоторые реализации awk
оставляют $1
первым полем последней строки. См. Является ли поведение AWK END сохранением последней загруженной строки в $0 на справочной странице .)
awk
использует ассоциативные массивы. Это означает, что вы можете использовать любую строку в качестве индекса. Числовые массивы работают, потому что a[1]
— это массив a[]
, индексированный строкой, которая оказывается единственным символом 1
. В равной степени это может быть a[one]
или даже a[banana]
. Четверка с точками для вашего IP-адреса — это просто строка.
Оказывается, это проблема, связанная с RStudio -. в /etc/rstudio/profiles
нам нужно было увеличить параметр max-processes
(, эквивалентныйnproc
). Мы ограничили число пользовательских процессов -до 120, чтобы ограничить интенсивное распараллеливание. Хотя у пользователей, страдающих от этой проблемы, было только несколько запущенных процессов на уровне ОС, это оказалось низким числом, и после увеличения значения до max-processes = 800
проблема исчезла. Подробнее задокументировано здесь:https://docs.rstudio.com/ide/server-pro/r-sessions.htmlв разделе 5.2.5.2.