sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #44440
Re: sed og wildcards
Takker
Det var lige det jeg manglede
----- Original Message -----
From: "Frank Damgaard" <frda@xxxxxxxxxxxxx>
To: <sslug-teknik@xxxxxxxx>
Sent: Thursday, November 15, 2001 8:55 PM
Subject: Re: [TEKNIK] sed og wildcards
> On Thu, Nov 15, 2001 at 19:14:08 +0100, Kim Hermansen wrote:
>
> > Jeg sidder lige og roder med sed, og kan ikke få den til at bruge
> > wildcard som ? eller *
> > Jeg ville gerne kunne bruge: sed s/(19??)/aarstal/
> > for at få skiftet (19??) til aarstal
> > Så det er de widlcards i (19??) der er problemet.
> > Jeg ved ikke om det er parantesen der giver problemet, men den er
> > der ligesom, og skal også med væk.
> >
> > (19??) står for (19"og et eller andet")
>
> Husk "shell" expanderer wildcards som *, ? mv.
>
> Derudover bruger regular expressions "." til at matche et vilkårligt tegn.
> Er det kun cifre så [0-9].
>
> Så :
>
> echo "hej (1992) ?" | sed "s/(19..)/aarstal/"
>
> eller
>
> echo "hej (1992) ?" | sed "s/(19[0-9][0-9])/aarstal/"
>
>
> *,? og 0 har speciel betydning idet * er 0 eler flere gange,
> "+" er en eller flere gange, og ? er 0 eller en gang.
> Disse tegn sættes efter det der skal matches.
> F.eks.:
>
> echo "hej (1992) ?" | sed "s/(1[0-9]+)/aarstal/"
>
> Se "man 7 regex" og "man sed"
>
> --
> mvh Frank Damgaard | http://home3.inet.tele.dk/frda/
>
>
>
>
References