Получение адреса электронной почты из файла журнала
У меня есть файл журнала, который содержит много текста, как показано ниже. Хотите извлечь адрес электронной почты, который находится между адресами электронной почты и статусными строками. Я открыт для любого варианта, который работает на Ubuntu, но хотел бы автоматизировать его.
bounceRecipients \ ": [{\" emailAddress \ ": \" praveen@gmail.com \ ", \" status
1 ответ
Решение
Ну вот:
perl -ne 'if(/emailAddress..:..(.+?)\\\"/){print "$1\n"}' logfile.txt
Этот фрагмент Perl будет проходить через файл строка за строкой и искать строку "emailAddress", за которой следует:
- любые два символа (
..
), это будет соответствовать\"
, :
,- любые два символа (
..
), это будет соответствовать\"
,
Затем он сохраняет следующие символы (до следующего "
) в $1
, Наконец, он печатает $1
,
ПРИМЕЧАНИЕ. Предполагается, что каждый адрес электронной почты в вашем лог-файле имеет тот же формат, который вы указали в своем вопросе.