URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96822
[ Назад ]

Исходное сообщение
"Как извлечь почтовые адреса из папок с письмами, grep ?"

Отправлено Ozymandis , 13-Фев-17 16:48 
Всем Привет!

Есть папка с письмами, писем около 1000, и необходимо вытащить оттуда только адреса получателей, и отправителей.

Как можно найти и сохранить в файл, список адресов почтовых ящиков, командой grep ?

Пробовал так:


grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*' /var/www/postfix/data/email/site.ru/user/.maildir/ * | sort | uniq -i  > /home/user.txt

пустой файл


Содержание

Сообщения в этом обсуждении
"Как извлечь почтовые адреса из папок с письмами, grep ?"
Отправлено skvernobot , 13-Фев-17 17:35 
>[оверквотинг удален]
> Есть папка с письмами, писем около 1000, и необходимо вытащить оттуда только
> адреса получателей, и отправителей.
> Как можно найти и сохранить в файл, список адресов почтовых ящиков, командой
> grep ?
> Пробовал так:
>
 
> grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*' /var/www/postfix/data/email/site.ru/user/.maildir/
> * | sort | uniq -i  > /home/user.txt
>

> пустой файл

grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" /var/www/postfix/data/email/site.ru/user/.maildir/* | cut -d\: -f2 | sort | uniq -i


"Как извлечь почтовые адреса из папок с письмами, grep ?"
Отправлено Ozymandis , 13-Фев-17 17:57 
>[оверквотинг удален]
>> Как можно найти и сохранить в файл, список адресов почтовых ящиков, командой
>> grep ?
>> Пробовал так:
>>
 
>> grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*' /var/www/postfix/data/email/site.ru/user/.maildir/
>> * | sort | uniq -i  > /home/user.txt
>>

>> пустой файл
> grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" /var/www/postfix/data/email/site.ru/user/.maildir/*
> | cut -d\: -f2 | sort | uniq -i

спасибо, а как сделать вывод адресов с количеством символов не более 40 ?

например:
automobile-manager@site.ru (28 символов) выводить
automobile-manager12423434523789122222223@site.ru не выводить:?


"Как извлечь почтовые адреса из папок с письмами, grep ?"
Отправлено universite , 14-Фев-17 00:09 

> например:
> automobile-manager@site.ru (28 символов) выводить
> automobile-manager12423434523789122222223@site.ru не выводить:?

grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" /var/www/postfix/data/email/site.ru/user/.maildir/* | egrep -E -o "[A-Za-z0-9.-@]{1,40}" | cut -d\: -f2 | sort | uniq -i


"Как извлечь почтовые адреса из папок с письмами, grep ?"
Отправлено skvernobot , 14-Фев-17 11:05 
>[оверквотинг удален]
>> Как можно найти и сохранить в файл, список адресов почтовых ящиков, командой
>> grep ?
>> Пробовал так:
>>
 
>> grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*' /var/www/postfix/data/email/site.ru/user/.maildir/
>> * | sort | uniq -i  > /home/user.txt
>>

>> пустой файл
> grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" /var/www/postfix/data/email/site.ru/user/.maildir/*
> | cut -d\: -f2 | sort | uniq -i

добавьте в конец | awk {'if(length($1)<30) print $1'}
получится вот так:
grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" /var/www/postfix/data/email/site.ru/user/.maildir/* | cut -d\: -f2 | sort | uniq -i | awk {'if(length($1)<30) print $1'}