Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


понедельник, 11 августа 2014 г.

sed: чистка логов

Сошел с ума SARG: после настройки авторизации в сквиде через AD в логах стали появляться записи вида:

что-то-там ... домен\имя_пользователя ...

SARG, видя такое безобразие, в итоговом отчете всем пользователям присваивает имя "домен", из-за чего отчет становится нечитаемым.

Пришлось думать, как почистить логи прежде чем скормить SARG-у

cat лог|sed 's/домен\\//'|sed 's/.*TCP_DENIED.*$//'|sed '/^$/d'

первый sed убирает из лога упоминания про "домен\"
второй убирает все строки, где пользователь получил отказ в доступе
третий убирает оставшиеся пустые строки.

Наверное, будет логичнее совместить второй и третий и поставить их перед первым, чтобы не делать лишние замены "домен\" в строках, которые всё равно будут удалены.

Да, более правильной и быстрой оказалась такая конструкция:

cat лог|sed '/^.*TCP_DENIED.*$/d'|sed 's/[дД][оО][мМ][еЕ][нН]\\//'

Возможно, удалось бы совместить обе замены в одну, но уже лень.

Комментариев нет:

Отправить комментарий

Пожалуйста, воздержитесь от грубостей и персональных нападок.
Я не против матерщины, но она должна быть уместной и использоваться для выражения эмоций, а не в качестве основного средства выражения мыслей.