На своем почтовом сервере (postfix+dovecot) имеем папочку с письмами. Задача достать email из поля «From» заголовка письма.
Для этого пытаюсь написать скрипт вида:
path="/mail/domen/box/folder/*"
pat="<(.*)>"
for mes in $path
do
str=$(awk '/^From: /' $mes)
[[ $str =~ $pat ]]
echo "${BASH_REMATCH[1]}"
done
Если интересующий email находится в одной строке со словом «From:» то все прекрасно отрабатывает, но в некоторых заголовках это разбито на 2 строки. Вопрос: как решить задачу? Можно ли получить 2 строки разом от awk? Использовать sed для склеивания этой строки или же есть другое более разумное решение?