Fórum Ubuntu CZ/SK

Ostatní => Archiv => Téma založeno: PetoB 08 Listopadu 2006, 07:27:45

Název: grep? [vyřešeno]
Přispěvatel: PetoB 08 Listopadu 2006, 07:27:45
potrebujem v jednom dokumente vyhladat emailove adresy a prekopirovat ich do ineho suboru.Robil som to  pomocou grep asi takto grep '@' subor1.txt>adresy.txt ale to tam nakopiruje len cele riadky, v ktorych sa adresa vyskytuje.Neviete,ako z tadial odrezat len tu adresu,bez toho ostatneho textu?

P.S a co robi prikaz sed???

Dakujem
Název: grep???
Přispěvatel: Pavelp 08 Listopadu 2006, 08:08:15
cat, tac,cut, sort, grep.......
man coreutils.
Regularni vyraz: [a-zA-Z_.]+@[a-zA-Z_.]+
Název: grep???
Přispěvatel: PetoB 08 Listopadu 2006, 08:24:36
?? dako som nevedel vycitat z manu ze ako by sa dali vytiahnut len tie adresy
Název: grep???
Přispěvatel: Pavelp 08 Listopadu 2006, 08:30:21
Musite si prohlednout strukturu toho vstupniho souboru a podle toho zvolit odpovidajici nastroj. V manu navod "Kterak mailove adresy ze souboru vydolovati" urcite nebude. Tohle je programovani.
Název: grep???
Přispěvatel: PetoB 08 Listopadu 2006, 08:44:06
to viem aj.ja len ci dakto nevie,nieco poradit okrem manu.
Název: grep???
Přispěvatel: PetoB 08 Listopadu 2006, 11:17:57
cat peter.txt | sed -e 's| |\n|g' -e 's|,|\n|g' -e s'|.|n|g' | grep '@' > maily.txt
tymto mi to islo,len je dalsi problem,ze za adresou je hned bodka a potom to berie ako celok a nemozem dat odfiltrovat bodku,lebo aj v adrese je bodka.Hm?
Název: grep???
Přispěvatel: kremso 08 Listopadu 2006, 12:49:59
Kód: [Vybrat]
cat mails | tr ' ' '\n' | grep '@' | awk '{if($0 ~ /\.$/) print(substr($0,1,length($0)-1)); else print $0}'