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

Sorry for my English! English is not my native language. One of the reasons to create this blog is to improve my English writing. So I will be highly obliged if you will help me with this. If you find a grammar error on this page, please select it with your mouse and press Ctrl+Enter.

Столкнулся сегодня с задачей: есть большой текстовый файл, нужно достать из него все уникальные адреса электронной почты, отсортировать и записать результат в файл. Как выяснилось, 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 :)
Tags: 

Add new comment

CAPTCHA
Spam protection
Target Image