Так что мне сказали сделать, last > lastloggedin
который создает файл, который показывает классы последнего входа в систему с момента последней перезагрузки системы, и теперь меня просят написать скрипт Awk с именем, myawk
который подсчитывает / определяет, сколько строк lastloggedin
содержат строку CFS264
.
я сделал grep -c CFS264 lastloggedin
text-processing
awk
scripting
TayshaunS
источник
источник
awk
? Если нет, вы можете просто использоватьgrep -c CFS264 lastloggedin | wc -l
.grep -c (something) (something) | wc -l
будет выдавать «1».Ответы:
Для начала вы можете использовать
awk
поиск строк в файле, который содержит строку, например:Биты в
{ .... }
будут командами, необходимыми для подсчета количества строк с этой строкой. Чтобы подтвердить, что вышеприведенное работает, вы можете использоватьprint $0
там, чтобы просто напечатать те строки, которые содержат строку поиска.Что касается подсчета, если вы будете искать «счетчик awk», вы наткнетесь на это SO Q & A под названием: использование awk для подсчета количества записей . Показанного там метода будет достаточно для того, что вы описываете:
пример
ПРИМЕЧАНИЕ. Вы не говорите, какое поле CFS264 относится к
last
выводу. Предполагая, что это имя пользователя, вы можете дополнительно ограничитьawk
команду для поиска только в этом поле следующим образом:источник
awk
.Следующий пример подсчитывает время, которое я упоминал, без необходимости
lastloggedin
файла:Если вы настаиваете на использовании или вынуждены использовать
lastloggedin
файл, вы можете сделать это следующим образом:Используйте
$1~/some_chars/
для получения всех имен пользователей, содержащих указанные символы, или$1~/^prefix/
для сопоставления только имен, начинающихся сprefix
:PS:
Сканирование
man awk
для получения дополнительных подсказок ... ;-)awk
очень полезно: вы можете сделать много вещей после очень короткого времени обучения ...источник
Последний может включать в себя логины пользователей из предыдущих перезагрузок. Таким образом, следующее будет печатать только пользователей с момента последней перезагрузки:
Первая часть команды awk задает диапазон - начиная с первой строки и заканчивая первой перезагрузкой.
источник