SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] put foo fra linien indeholdene bar ind i $var



On Thu, 3 Aug 2000, Kim Schulz wrote:

> Claus Ekstroem BSA skriver:
> > 
> > Hej Kim.
> > 
> > > jeg har en tekstfil, og jeg vil gerne finde alle de linier der
> > > indeholder ordet FOO. fra de linier vil jeg så tage den variable tekst
> > > efter BAR=  og putte ind i $FOOBAR (der er "" omkring teksten efter BAR=
> > > ).
> > > Hvordan pokker gør man dette ?
> > 
> > Hvis du ikke kender raekkefoelgen paa FOO og BAR= kan du fx. lave en RE i stil med:
> > 
> > while (<>) {
> >     if (/FOO/) {
> >         if (/BAR=\"(.*)\"/) {
> >             $FOOBAR = $1;
> >         }
> >     }
> > }
> > 
> > Er det noget i den stil du mener?
> 
> Ja det ligner noget i den stil 
> kan jeg bruge f.eks. variablen $foo i FOO altså \$foo\ og den så sætter
> værdien af $foo ind der (og ikke leder efter "$foo" i linien) 

$foo = "søge(pattern|mønster)";

while (<>) {
     if (/$foo/) {
         if (/BAR=\"(.*)\"/) {
             $FOOBAR = $1;
         }
     }
}

Du skal blot vide at det ikke er specielt effektivt. Men jeg synes jeg kan
lugte, at mængen af inddata ikke er over megabyte størrelsen. Hvis jeg
tager fejl, skal du til at kikke lidt på option 'o' til //. 


/Ole
-- 
Lad Elit låne dem øsken i laden, og giv dem laks, Enok, så skal Elli lave
dåbsmad. Og giv dem alle regninger, Ella, med Viggo Dams Båd "Eva". Lille
Laksås kone skal med Viggo Nedal i Neksø med en ål til E. Dal. 



 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:53
Denne side vedligeholdes af MHonArc .