ako vyhladat?

Sekcia: Aplikácie & Desktop 08.11.2006 | 14:06
steve   Návštevník
Ako mam vyhladat s ppouzitim vimu v texte vsetky emailove adresy a prepisat ich do inehosuboru?viete mi poradit?
    • Re: ako vyhladat? 06.11.2006 | 12:10
      Avatar Frantisek Klabzuba Debian  Používateľ
      Neviem ako vo vime ale toto ti vypise vsetky riadky obsahujuce zavinac v subor.txt a vysledok zapise do emaily.txt. grep '@' subor.txt > emaily.txt
      • Re: Re: ako vyhladat? 06.11.2006 | 12:14
        steve   Návštevník
        dakujem.takto to bude dobre.
      • Re: Re: ako vyhladat? 06.11.2006 | 12:45
        steve   Návštevník
        a nevie este niekto ako sa to da orezat len na tu adresu?nech to nevypise cele riadky,v ktorych sa ta adresa nachadza.da sa to dako pomocou \( \)?
        • Re: Re: Re: ako vyhladat? 06.11.2006 | 14:07
          Avatar Frantisek Klabzuba Debian  Používateľ
          regularne vyrazy :(
          • Re: Re: Re: Re: ako vyhladat? 06.11.2006 | 14:13
            Avatar Frantisek Klabzuba Debian  Používateľ
            cat subor.txt | sed 's| |\n|g' | grep '@' > maily.txt pripadne takto: cat subor.txt | sed -e 's| |\n|g' -e 's|,|\n|g' | grep '@' > maily.txt kde cez -e prepinace podohadzuj vsetky mozne znaky ktore nesmu byt v maili (ja som dal len ciarku, dodaj ostatne, napr. zatvorka atd)
            • Re: Re: Re: Re: Re: ako vyhladat? 06.11.2006 | 14:16
              Avatar Frantisek Klabzuba Debian  Používateľ
              oprava: tam ma byt opacne lomitko n teda \\n, neviem ako sa to tu pise nejak nevzalo lomitko
              • Re: Re: Re: Re: Re: Re: ako vyhladat? 06.11.2006 | 14:30
                steve   Návštevník
                dakujem
                • Re: Re: Re: Re: Re: Re: Re: ako vyhladat? 08.11.2006 | 09:07
                  steve   Návštevník
                  ahoj.no ten posledny prikaz odfiltruje vestky ciarka a medzery a podobne a spoji potom ten text dokopy aj s tymi adresami
                  • Re: Re: Re: Re: Re: Re: Re: Re: ako vyhladat? 08.11.2006 | 09:15
                    Avatar Frantisek Klabzuba Debian  Používateľ
                    tam kde je |n| daj \\n
                    • Re: Re: Re: Re: Re: Re: Re: Re: Re: ako vyhladat? 08.11.2006 | 09:26
                      steve   Návštevník
                      to som skusal aj vtedy,len to vypise unterminated `s' command
                      • Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ako vyhlad 08.11.2006 | 09:56
                        steve   Návštevník
                        ??
                      • Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ako vyhlad 08.11.2006 | 10:27
                        Avatar Frantisek Klabzuba Debian  Používateľ
                        Tak este raz, ten sed prikaz je sed 's| |\\n|g' Tie uvodzovky su jednoduche, medzi prvymi dvoma palickami je medzera.
                        • Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ako vy 08.11.2006 | 10:43
                          steve   Návštevník
                          huraaaaaaaaaaa a dakujem dik a mohol by si mi to vysvetlit ten prikaz ked budes mat cas??? a este raz diiiiik
                          • Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: ak 08.11.2006 | 10:47
                            steve   Návštevník
                            uch este jeden problemik.odreze to text pred adresou ale ten za nou nie.a ak mi to budes chciet dakedy vysvetlit,tak ten grep a cat poznam len tomu sed nechapem ani z manu
                            • Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 08.11.2006 | 10:51
                              steve   Návštevník
                              sice pockaj v jednom, texte mi to ide aj s tym textom za adresou a v druhom nie
                              • Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 08.11.2006 | 11:10
                                steve   Návštevník
                                uz viem asi preco.je za tou adrsou bodka. tak to bere ako celok a bodku nemozem dat od filtrovat lebo potom neda celu adresu
                                • Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 08.11.2006 | 11:48
                                  Avatar Frantisek Klabzuba Debian  Používateľ
                                  bodku sedom odfiltruj tusim takto: sed 's|\.|\n|g' kombinacia 's|nieco|nove|g' nahradi vsetky "nieco" textom "nove". Cize tu konkretne s|||g znamena ze bude nahradzovat aj viacnasobne sa opakujuce veci. Ak by si dal len 's/nieco/nove/' tak nahradi len prve najdene a dalsie uz nie. V mojom priklade tie sed prikazy robia to ze text ktory posiela cat (cize cely subor) zalamuje na nove riadky podla medzie, ciarok, bodiek atd. Cize toto: Ahoj,ako sa mas? Zalomi takto: Ahoj ako sa mas? To preto aby v riadku bol email bez textu prednim a za nim. Dalsie priklady: Prekodovavanie znakov cez prikaz "y": # echo "linux rulez" | sed 'y|iuz|IUZ|' lInUx rUleZ Nahradenie textu na zaciatku riadku cez ^ # echo -e "jablko hruska\nhruska jablko" | sed 's/^hruska/slivka/' jablko hruska slivka jablko Nahradenie textu na konci riadku cez $ # echo -e "jablko hruska\nhruska jablko" | sed 's/hruska$/slivka/' jablko slivka hruska jablko Specialne znaky cez \\ (nutne pre / a . a novy riadok) # echo "/sbin/ifconfig" | sed 's/\\/sbin\\///' ifconfig Ostranenie spec. znakov (uvodzovky) a spajanie sed prikazov cez -e: # echo "Bill Gates's ..." | sed -e 'y|l te.Ga'"'"'|_____gA_|' -e 's|_||g' BigAss
                                  • Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re 08.11.2006 | 11:51
                                    Avatar Frantisek Klabzuba Debian  Používateľ
                                    sakra, ma to byt takto: sed 's|\.|\n|g' alebo sed 's|\\.|\\n|g' alebo sed 's|\\\.|\\\n|g' Proste s jednym lomitkom. Strasne blbo sa sem hadze kod
              • Re: Re: Re: Re: Re: Re: ako vyhladat? 08.11.2006 | 12:12
                steve   Návštevník
                naozaj dakujem za ochotu a straveny cas. musim to teraz premysliet s tou bodkou,lebo aj v adrese je bodka potom to nazapise nic.
                • Re: Re: Re: Re: Re: Re: Re: ako vyhladat? 08.11.2006 | 12:58
                  steve   Návštevník
                  da sa nieco take,ze odsekne to az od druhej bodky??
                  • Re: Re: Re: Re: Re: Re: Re: Re: ako vyhladat? 08.11.2006 | 13:54
                    Avatar Frantisek Klabzuba Debian  Používateľ
                    Napr. takto: sed 's/\\./Q/' | sed -e 's|\\.|\\n|' -e 's/Q/\\./' Cize. Najprv prvu bodku zmenime na Q (proste nejaky pomocny znak), potom bodky co zostanu zmenime na novy riadok a potom spat tu bodku co ostala zmenime z Q spat na bodku. Ak chces uchovat prve dve bodky tak takto: sed 's/\\./Q/' | sed 's/\\./Q/' | sed -e 's|\\.|\\n|' -e 's/Q/\\./'
                    • Re: Re: Re: Re: Re: Re: Re: Re: Re: ako vyhladat? 08.11.2006 | 14:06
                      steve   Návštevník
                      dik,ze mas somnou pochopenie a za pomoc