1

У меня есть файл журнала, который содержит много текста, как показано ниже. Хотелось бы , чтобы извлечь адрес электронной почты , который попадает между EMAILADDRESS и строки состояния. Я открыт для любого варианта, который работает на Ubuntu, но хотел бы автоматизировать его.

bounceRecipients \":[{\" emailAddress \":\" praveen@gmail.com \", \" status

1 ответ1

1

Ну вот:

perl -ne 'if(/emailAddress..:..(.+?)\\\"/){print "$1\n"}' logfile.txt

Этот фрагмент Perl будет проходить через файл строка за строкой и искать строку "emailAddress", за которой следует:

  • любые два символа (..), это будет соответствовать \" ,
  • : ,
  • любые два символа (..), это будет соответствовать \" .

Затем он сохраняет следующие символы (до следующего ") в $1 . Наконец, он печатает $1 .

ПРИМЕЧАНИЕ. Предполагается, что каждый адрес электронной почты в вашем лог-файле имеет тот же формат, который вы указали в своем вопросе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .