как управлять датами в оболочке

Я думаю, что lastlog не будет очень полезен, так как JH заявляет, что у него только есть одна учетная запись, с несколькими реальными пользователями, входящими в систему с различными ключами (Интересно почему; Вы потеряете ценную информацию об авторе в SVN тот путь).

Так или иначе, по крайней мере, в моих системах (Debian/Ubuntu), sshd не регистрируется, ключ раньше входил в систему по умолчанию, но кажется, что возможно вынудить это сделать так, при помощи "LogLevel, Подробного" или что-то к тому эффекту в sshd_config. Вы могли затем писать/использовать простой синтаксический анализатор для журналов и сохранить ключи, используемые, и определить на основе этого информацию, в которой Вы нуждаетесь.

0
задан 23 September 2011 в 17:13
2 ответа

Есть несколько способов сделать это: grep, sed, awk, ...

Вы можете получить номер строки соответствующего шаблона одним из следующих способов:

  • grep - n шаблон -m 1 вход | вырезать -d: -f1
  • awk '/ pattern / {print NR}' input | head -1

и выведите от этой строки до конца файла:

  • $ sed -n "$ (awk '/ 02 \ / 04 \ / 2002: 11: 30: 41 / {print NR}' ввод | голова -1), $ p " ввод

или:

  • $ awk 'NR> = line_number' line_number = $ (grep -n 02/04/2002: 11: 30: 41 -м 1 вход | cut -d: -f1) input

Вы также можете использовать grep -A ( - after-context ) или tail , ...

1
ответ дан 4 December 2019 в 14:39

Если вы можете сделать с помощью внешнего вспомогательного инструмента попробуйте dateutils . Он поставляется с командой dgrep , которая делает то, что вы хотите:

dgrep '>=2002-04-02' -i '%d/%m/%Y' < yourfile
=>
  02/04/2002:11:30:41
  03/04/2002:11:30:41
  04/04/2002:11:30:41
  05/04/2002:11:52:25
  06/04/2002:11:52:25
1
ответ дан 4 December 2019 в 14:39

Теги

Похожие вопросы