LINUX.ORG.RU

Строчка на AWK --- помогите!


0

0

Здравствуйте!

Так как до сих пор не познакомился с awk дальше, чем awk '{print $2}', то возник вопрос: как мне выделить из строк с e-mail и имененм адресата только e-mail?

По руководству делаю так: awk '/<[a-zA-Z]+@[a-zA-Z]+/ - print $0 ""', но не выполняется, ругается на синтаксическую ошибку. А как сделать правильно?

Заранее благодарен!

★★★★

Ага. После строчки на перл кто-нибудь поможет...

stassats ★★★★
()
Ответ на: комментарий от tailgunner

Ошибка исчезла, но само выражение не пишет, а пишет целую строчку, в которой это значение (адрес e-mail) присутствует. А как мне получить только соответствующую шаблону строку?

Боюсь показаться назойливым, но всё из-за срочности :)

Большое спасибо!

Ay49Mihas ★★★★
() автор топика
Ответ на: комментарий от Ay49Mihas

Ну вообще-то в регулярное в выражение лучше добавить ещё цифры и
подчеркивание (то что я написал - просто пример).

Т.е. рег. выражение должно быть примерно следующее:
/[0-9a-zA-Z\.\_]+@[0-9a-zA-Z\.]+/

Подчеркивание в именах хостов практически не используется, а вот
цифры могут быть.

romanSA
()

>как мне выделить из строк с e-mail и имененм адресата только e-mail?

спам базу готовишь? :))

mic ★★★★★
()

Зачем так сложно?

awk -F"\<|\>" '{if(NF<2)print $0;else print $2}'

bbk123 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.