Как получить все email-ы из текста одной командой

Столкнулся сегодня с задачей: есть большой текстовый файл, нужно достать из него все уникальные адреса электронной почты, отсортировать и записать результат в файл. Как выяснилось, cделать все можно 1 командой.

 grep -E -o "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+\b" file.txt | sort -n | uniq > emails.txt
 
Команда grep достает из файла все email-ы, все сортируется, оставляются только уникальные значения после чего результат записывается в файл. 
 
Если все находится не в одном большом файле, а в нескольких мелких, то склеить все файлы в 1 можно так:
 
cat file1 filefile3 > file4
 
Люблю Linux :)
Тэги: 

Добавить комментарий

CAPTCHA
Защита от спама
Target Image