Нуждаюсь в помощи захватывая постфиксный журнал

Я пытаюсь искать неизвестную строку (Идентификатор сообщения) в журнале на основе известной строки (адрес получателя), и затем grep неизвестная строка для вывода всей соответствующей информации о журнале. Я могу использовать grep и сократить для вывода неизвестной строки (строк), но оттуда я озадачен при передаче этого к grep. Я привык канал для xargs grep, и это не производит вывод, который я ищу. Вот команда, которую я использую для grep и сокращения:

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6

Это производит вывод всех неизвестных строк для сообщений, обработанных Постфиксом для emailaddress. Когда я передаю по каналу к xargs, я получаю "grep:: Никакой такой файл или каталог:

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6 | xargs grep /var/log/maillog

Спасибо за помощь.

3
задан 25 August 2014 в 22:45
2 ответа

Я немного поиграл со своими собственными почтовыми журналами. Попробуйте

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6 | grep -f - /var/log/maillog

-f - прочитает список строк для поиска из stdin.

.
4
ответ дан 3 December 2019 в 05:42

Я написал скрипт на perl, который позволяет вам передавать любую информацию из лога, которую вы хотите, и он выведет все строки с одинаковым идентификатором очереди (одним проходом через файл и без ограничения размера файла):

https://github.com/brablc/postfix-tools/blob/master/pflogrep

1
ответ дан 3 December 2019 в 05:42

Теги

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