Щоб розпочати роботу, ви можете скористатися awkпошуком рядків у файлі, що містять такий рядок:
$ awk '/CFS264/ { .... }' lastloggedin
Біти у { .... }заповіті будуть командами, необхідними для підрахунку кількості рядків у цьому рядку. Щоб підтвердити, що вищезазначене працює, ви можете використовувати print $0там, щоб просто надрукувати ті рядки, які містять рядок пошуку.
$ awk '/CFS264/ { print $0 }' lastloggedin
Щодо підрахунку, якщо ви будете шукати "лічильник awk", ви натрапите на цей SO Q&A під назвою: використовуючи awk для підрахунку не записів . Показаний там метод буде достатнім для того, що ви описуєте:
$ awk '/CFS264/ {count++} END{print count}' lastloggedin
Приклад
$ last > lastloggedin
$ awk '/slm/ {count++} END {print count}' lastloggedin
758
$ grep slm lastloggedin | wc -l
758
$ grep -c slm lastloggedin
758
ПРИМІТКА. Ви не кажете, до якого поля CFS264 відноситься у lastвисновку. Якщо припустити, що це ім’я користувача, то ви можете додатково обмежити awkкоманду для пошуку лише в цьому полі так:
$ awk '$1=="CFS264" { print $0 }' lastloggedin
awk? Якщо ні, ви можете просто скористатисяgrep -c CFS264 lastloggedin | wc -l.