Предполагается, что вы используете версию last
из пакета util-linux
:
last -s '2015-11-01' | sort -k1,1 -u
или даже:
last -s '-1 month' | sort -k1,1 -u
или
last -s '2015-07-01' -t '2015-07-31' | sort -k1,1 -u
last
имеет опции -s
(--since
) и -t
(--until
) для ограничения вывода определенными датами и временем. Опция sort -k1,1 -u
выполняет уникальную сортировку только по первому полю вывода last
.
Подробнее см. в man last
, особенно поиск по ФОРМАТЫ ВРЕМЕНИ
.
Для поиска фиксированной строки (, а не регулярного выражения ), используйте параметр -F
с grep
. Если вам дополнительно нужно убедиться, что ваша строка соответствует всей строке , используйте-x
:
grep -Fx -r '...your string here...' directory
Чтобы получить приблизительные совпадения (, если поиск по полной строке ничего не возвращает ), я бы начал только сport is up
(без -x
),или, возможно,
grep -F -r -e 'port is up' -e 'valid output' directory
Ни |
, ни {
, ни }
не являются особыми в шаблоне регулярного выражения, когда вы используете базовое регулярное выражение, как здесь. '
никогда не бывает специальным в регулярном выражении. Однако, поскольку вы ищете по строке (, а не по шаблону ), тем не менее следует использовать -F
.