← Back to team overview

sslug-teknik team mailing list archive

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