Potrzebujesz pomocy z C, C++, perl, python, itp.
MCKorgan
Posty: 2 Rejestracja: 11 listopada 2008, 18:36
Post
autor: MCKorgan » 11 listopada 2008, 18:47
Mam plik txt a w nim znajduje się coś takiego:
i mam zapisać do innego pliku.txt sam adres email czyli z tego fragmentu będzie to:
Kod: Zaznacz cały
pilot.zolwia@gmail.com i [email]gracz100.SKASUJ@gazeta.pl[/email]
powinno to się wykonać chyba przez wykorzystanie poleceń seda. Kombinowałem z tym i za bardzo mi to nie wychodzi.
Zapisuje mnie to co znajduje się w ostatnim "<>" czyli:
Kod: Zaznacz cały
491a4$48c0065a$20711@news.teranews.com i g9o7n9$gd3$1@inews.gazeta.pl
Trzeba jakiś
na pewno warunek żeby tylko z pierwszego "<>" pobierało ale za bardzo nie wiem jak. Bardzo wdzięczny byłbym za pomoc.
kuzyn
Posty: 9 Rejestracja: 09 lipca 2008, 00:31
Post
autor: kuzyn » 11 listopada 2008, 21:45
A tak?
Kod: Zaznacz cały
head -1 nazwa_pliku | awk -F "<" '{ print $2 }' | awk -F ">" '{ print $1 }'
MCKorgan
Posty: 2 Rejestracja: 11 listopada 2008, 18:36
Post
autor: MCKorgan » 12 listopada 2008, 11:08
awk różni się od tego czego my musimy używać do wykonania tego ćwiczenia więc wolałbym jakbym miał to z wykorzystaniem poleceń seda.
matteuszek
Posty: 45 Rejestracja: 20 kwietnia 2007, 12:12
Post
autor: matteuszek » 25 listopada 2008, 22:00
działa dla każdego poprawnego e-mail w tekscie
Kod: Zaznacz cały
cat test | sed -n -e 's/ /\n/pg' | sed -n -e '/</p' | sed -e 's/<//' -e 's/>//' | sed -n '/^[a-Z0-9\_\.]\+@[a-Z0-9\-]\+\.[a-Z0-9\-\.]\+/p'
U mnie daje wynik:
Kod: Zaznacz cały
pilot.zolwia@gmail.com
[email]48C0108C.7070505@gmail.com[/email]
[email]gracz100.SKASUJ@gazeta.pl[/email]
a żeby łapał tylko pierwszy e-mail z linni to masz:
Kod: Zaznacz cały
cat test | sed -e 's/>.*//g' | sed -n -e 's/ /\n/pg' | sed -n -e '/</p' | sed -e 's/<//' -e 's/>//' | sed -n '/^[a-Z0-9\_\.]\+@[a-Z0-9\-]\+\.[a-Z0-9\-\.]\+/p'