Получение адреса электронной почты из файла журнала

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

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

1 ответ

Решение

Ну вот:

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

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

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

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

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

Другие вопросы по тегам