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