LINUX.ORG.RU

Обрезать строку до и после символа.

 


0

1

Добрый день. В наличии имеется файл с более 12000 строк типа:
«S.RIBILET»,«S. Ribilet»,"",«EVERYONE»,«100»,"","",«18»,«SMTP:SEVERE.RIIET@SAM.COM»,«TIFF-G4»,«100»,"","","","","","","","","","","",«»

Подскажите пожалуйста как можно обрезать строку чтобы оставить только e-mail. До меня дошло только как обрезать до:

# tail -n 1 users.txt | sed -r 's!^[^:]+!!' | sed 's/^.\{1\}//'
DJEES@Edfvdfg.FR",«TIFF-G4»,«100»,«Djees»,"","","","","","","","","","",«»

Вот с частью «после» совсем не выходит. Заранее благодарен за помощь.


Ответ на: комментарий от futurama

спасибо, помогло

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

ttor
() автор топика
perl -lnE 'say /«SMTP:(.+?)»,/'

P.S. Знаю что не sed. Это на случай, если не найдёшь решение или не понравится.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

Полезны все решения.

Спасибо, попробую.

ttor
() автор топика
<file python -c '
import sys, csv
for row in csv.reader(sys.stdin): print(row[8])
'

или ruby, на худой конец перл (сырыми строками не очень - ибо вероятно это «csv» и, емнип, по rfc могут быть окавыченные ",")

anonymous
()
Ответ на: комментарий от Deleted

В этой задаче

откуда дровишки? Не из разряда ли: «не хочется ронять „авторитер“ имярека неглубоким вопросом => надо зарeгистрировать бросовый аккаунт»? ^_^

anonymous
()
Ответ на: комментарий от anonymous

Сценариев возможных тут немного. Посудите сами - тс явно имеет дамп недоступной ему базы, в котором его интересуют только лишь емейлы...

Deleted
()
Последнее исправление: Rainor (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.