caramingo
@caramingo
админ из русского манчестера

Как распарсить лог?

Здравствуйте. Помогите распарсить лог
Есть статус лог от openVPN вот такого вида.

ivanov.as,IP_addres,56924339,46404603,Thu Apr 16 07:20:32 2020
petrov.da,IP_addres,26209226,320310272,Thu Apr 16 07:48:03 2020
sidorov.mv,IP_addres,341887484,1000952454,Thu Apr 16 08:08:04 2020

Башем или регулярными выражениями нужно читать наличие пользователя например ivanov.as каждую минуту и писать в другой лог вида ivanov.as 1, через минуту снова читать лог и если пользователь там есть увеличивать счетчик на один

PS я понимаю что решение может быть костыльным, пока не знаю как по другому учитывать время подключения пользователей к серверу OpenVPN.

За ранее спасибо всем кто ответил.
  • Вопрос задан
  • 493 просмотра
Решения вопроса 1
cut -d, -f2 111.txt
где -dразделитель","
-f- колонка

Теперь по вашей задаче
1. не нужно читать раз в минуту баш поддерживает режим чтения
tail -f /var/log/syslog - для этого и есть ( выдает поток)
соответствено все что вам остается Это обрезать его так как вам нужно

tail -f /var/log/syslog | grep -o "ivanov.as"
тут вы будите получать в режиме онлайн все строки про этого товарищя
далее их можно посчитать
tail -f /var/log/syslog  |  grep -o "ivanov.as" | wc -l > ivanov.sa

но тут уже лучше взять весь файл
cat  /var/log/syslog  |  grep -o "ivanov.as" | wc -l > ivanov.sa

ну а если вам нужно будет составить список пользователей и их количество упоминаний то тут по другому.
Но небыло в тз ;)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы