Я должен посчитать, сколько пользователей было зарегистрировано в каждый день недели. Я могу получить данные с помощью последней команды на сервере, но как я могу обработать их с помощью awk? Это длинный список данных, название дня в 4-м столбце. Я объявил массив следующим образом: t ["Sun"] = 0; т [ "СБ"] = 0; et c, я могу посчитать его из простого ввода с терминала, но как я могу использовать его на выходе last?
Если я войду на сервер и наберу: last, я получу результат вот так, каждая строка, содержащая имя пользователя, pts / что-то, IP-адрес, день недели, время и т. д. c:
user pts/0 address Mon etc.
user pts/1 address Wed etc.
Я хотел бы вывод, подобный этому:
Mon: 10 users were logged in
Tue: 20 user were logged in etc
Мой код здесь, который работает с входом с терминала:
awk '
BEGIN { t["Sun"]=0; t["Sat"]=0; t["Fri"]=0; t["Thu"]=0; t["Wed"]=0; t["Tue"]=0; t["Mon"]=0; }
{ t[substr($4,i,3)]++;}
END {for(i in t) print i ": " t[i]}
'$*
Пока что на входе в терминале вот так:
aa ss dd Fri
a d g Mon
q w e Fri
дает результат:
Wed: 0
Tue: 0
Fri: 2
Thu: 0
Sat: 0
Sun: 0
Mon: 1
Как я могу использовать команду awk для обработки вывода последней?