Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Linux

Как отрезать файл журнала после определенной даты : Linux

01.12.2024 19:51


29.11.2024 16:03
Сейчас приходится много работать с вендором, которому, соответственно, надо часто передавать журналы по какой-то проблеме.

Почему-то ребята не пользуются ротацией и встал вопрос, как из 22Гб файлика журнала отрезать содержимое, начиная с определенной даты, когда произошло событие (у меня это 11 ноября). Вопрос в принципе, простой и ходовой, но раньше я им как-то не заморачивался. Сначала пользовался просто tail -n 1000000, например, чтобы по количеству строк отрезать, но замучаешься прицеливаться, учитывая неравномерность наполнения. Поэтому пришлось думать. Первый вариант получился такой:
Код:
awk '/11-NOV-2024/ {found=1} found' alert.log
не запускайте на больших файликах, поскольку вариант слишком тормозной, но, может, кому-то для других целей подойдет
Второй и итоговый вариант:
Код:
sed -n '/11-NOV-2024/,$p' alert.log
работает ощутимо быстрее, конечно, не так, как tail, но по сумме времени будет быстрее, если до этого было много попыток попасть в нужную дату.
Часовой пояс GMT +3, время: 19:51.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.