Надо найти email в txt файлах и упорядоченно записать их в другой файл. Я сам попытался написать код:
find . *.txt -maxdepth 1 -type f -exec grep -oe "[a-zA-Z0-9]\+@[a-zA-Z]\+.[a-zA-Z]\+" '{}' \; | sort -u > allmails.lst
Всё работает, но оказалось я не учел, что в части до собачки могут быть использованы одинарные символы «. _ -». Пытался дописать с учетом этого, но ничего не получается. Вот что у меня получилось:
find . *.txt -maxdepth 1 -type f -exec grep -oe "[a-zA-Z0-9]\+[._-]{0,1}\+[a-zA-Z0-9]\+@[a-zA-Z]\+.[a-zA-Z]\+" '{}' \; | sort -u > allmails.lst
Помогите пожалуйста!