Проблема, вероятно, в том, что ваш . *
, который находится перед вашим совпадением для IP-адреса, является жадным, поэтому он будет соответствовать как можно больше в вашей строке.
.*([[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+).*,
Вам необходимо изменить первый . *
, чтобы он остановился на границе цифры. Я бы предложил что-то , подобное этому, может сработать, но я тестировал его только на вашем примере exim4
данных
.*[^[:digit:]]
Исправленный вывод
2016-08-08 sameh@hotmail.com abc@avenir.com 137.244.209.141 550 SC-001
2016-08-08 microtex@gmail.com production@babylon.com 137.244.209.141 550 SC-001