sed обработка логов. (обработка большого кол-ва лог файлов.)
Модераторы: /dev/random, Модераторы разделов
-
- Сообщения: 498
- ОС: Fedora
sed обработка логов.
Добрый день
Есть больше 2000 папок, в которых есть txt файлов.
Подскажите:
1. нужно обработать все файлы старше 1 дня,
2. удалить не нужные строки,
3. Повторяющиеся строки, нужно подсчитать и удалить дубли.
1. Файлы старше -type f -mtime +1 найти можно так
2. sed -i '/BPDU/d;/username/d' удалить строки содержащие слова.
3. Как обработать дублирующие строки, тут решение не нашел.
Скажу, дополнительно логи собираются syslog-ng, в нем есть параметр отвечающий за подсчет дублирующих сообщений, но выставлять большое значение побоялся сейчас стоит 600 сек.
Есть больше 2000 папок, в которых есть txt файлов.
Подскажите:
1. нужно обработать все файлы старше 1 дня,
2. удалить не нужные строки,
3. Повторяющиеся строки, нужно подсчитать и удалить дубли.
1. Файлы старше -type f -mtime +1 найти можно так
2. sed -i '/BPDU/d;/username/d' удалить строки содержащие слова.
3. Как обработать дублирующие строки, тут решение не нашел.
Скажу, дополнительно логи собираются syslog-ng, в нем есть параметр отвечающий за подсчет дублирующих сообщений, но выставлять большое значение побоялся сейчас стоит 600 сек.
-
- Модератор
- Сообщения: 21046
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: sed обработка логов.
Дубли, идущие подряд, или вообще все? Я так понимаю, сортировка строк в файле недопустима?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Модератор
- Сообщения: 4823
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: sed обработка логов.
Без сортировки sed'ом сложно. На awk существенно проще (заодно и посчитать можно). Но это если файлы не очень большие.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
- Сообщения: 498
- ОС: Fedora
Re: sed обработка логов.
в логах есть поле дата. Можно до последнего повтора объединять.
-
- Модератор
- Сообщения: 21046
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: sed обработка логов.
Тогда уж perl лучше, фигли.
Не понял. Можно пример?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 498
- ОС: Fedora
Re: sed обработка логов.
Во вложении кусок лога, если нужно могу в личку дать более объемный.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Модератор
- Сообщения: 21046
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: sed обработка логов.
Я имел в виду пример того, что нужно сделать. Что понимается под «объединением»?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 498
- ОС: Fedora
Re: sed обработка логов.
Oct 20 04:10:08 172.18.61.176 interface,info ether2 link down
Oct 20 04:10:14 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex)
Oct 20 04:10:17 172.18.61.176 bridge,stp ether2 learning
Oct 20 04:10:17 172.18.61.176 bridge,stp ether2 forwarding
Oct 20 04:10:25 172.18.61.176 interface,info ether2 link down
Oct 20 04:10:27 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex)
Oct 20 04:10:25 172.18.61.176 interface,info ether2 link down
Oct 20 04:10:27 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex)
Oct 20 04:10:25 172.18.61.176 interface,info ether2 link down
Oct 20 04:10:27 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex)
Это объединить, только если строки одинаковые рядом.
Oct 20 04:10:30 172.18.61.176 bridge,stp ether2 learning
Oct 20 04:10:30 172.18.61.176 bridge,stp ether2 forwarding
Oct 20 04:10:14 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex)
Oct 20 04:10:17 172.18.61.176 bridge,stp ether2 learning
Oct 20 04:10:17 172.18.61.176 bridge,stp ether2 forwarding
Oct 20 04:10:25 172.18.61.176 interface,info ether2 link down
Oct 20 04:10:27 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex)
Oct 20 04:10:25 172.18.61.176 interface,info ether2 link down
Oct 20 04:10:27 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex)
Oct 20 04:10:25 172.18.61.176 interface,info ether2 link down
Oct 20 04:10:27 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex)
Это объединить, только если строки одинаковые рядом.
Oct 20 04:10:30 172.18.61.176 bridge,stp ether2 learning
Oct 20 04:10:30 172.18.61.176 bridge,stp ether2 forwarding
-
- Модератор
- Сообщения: 21046
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: sed обработка логов.
Всё равно не понял, что значит «объединить». В результате-то что должно получиться?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 498
- ОС: Fedora
Re: sed обработка логов.
Oct 20 04:10:25 172.18.61.176 interface,info ether2 link down (message was repeated 3 times)
Oct 20 04:10:27 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex) (message was repeated 3 times)
Oct 20 04:10:27 172.18.61.176 interface,info ether2 link up (speed 100M, full duplex) (message was repeated 3 times)
-
- Модератор
- Сообщения: 21046
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: sed обработка логов.
Погдите, ерунда какая-то. Во-первых, получается повтор не одной, а двух строк. Во-вторых, то, что время тоже повторяется — это часть условия задачи, или Вы просто скопировали эти строки, а в реальности оно будет разным?
Ну и потом, с чисто практической точки зрения, если сеть постоянно отваливается, это повод для беспокойства, и негоже представлять это в логе как единичный отвал.
Ну и потом, с чисто практической точки зрения, если сеть постоянно отваливается, это повод для беспокойства, и негоже представлять это в логе как единичный отвал.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 498
- ОС: Fedora
Re: sed обработка логов.
Я согласен, что постоянный отвал не хорошо. Но при этом, я же не удалять хочу, а сократить кол-во записей.
Повтор двух строк, верно. Но я не прошу их рассматривать совместно.
Конечно скопировал, для примера.
Повтор двух строк, верно. Но я не прошу их рассматривать совместно.
Конечно скопировал, для примера.
Последний раз редактировалось Voler 21.10.2019 14:19, всего редактировалось 2 раза.
-
- Модератор
- Сообщения: 21046
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: sed обработка логов.
На вопрос-то ответьте. Ну и если подразумевается удаление повтора неопределённого количества разных строк, то задача простого решения не имеет (а сложное будет крайне неэффективным).
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Модератор
- Сообщения: 21046
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: sed обработка логов.
А каким образом их надо рассматривать? Опишите желаемый алгоритм словами (или псевдокодом).
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Модератор
- Сообщения: 4823
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: sed обработка логов.
Питона на тебя нет

UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
- Сообщения: 498
- ОС: Fedora
Re: sed обработка логов.
пока оптимизирую syslog-ng, но вопрос обработки логов остался.