/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Grep / regular expressions
Fra : Christian Flintrup


Dato : 29-01-02 00:00

Hej

Jeg _burde_ vel sætte mig ind i regular expressions, men indtil jeg får
tid, kan nogen så fortælle mig, hvordan jeg får fjernet alle punktummer
fra en variabel i et shell script?

Jeg har en variabel, domainname.
En anden variabel, username, skulle gerne indeholde det samme som
domainname - men uden nogen punktummer.

På forhånd tak.

--
!! Se min signatur. Se min signatur. Se min signatur !!
!! Se min signatur. Se min signatur. Se min signatur !!
!! Se min signatur. Se min signatur. Se min signatur !!
!! Se min signatur. Se min signatur. Se min signatur !!

 
 
frank damgaard (29-01-2002)
Kommentar
Fra : frank damgaard


Dato : 29-01-02 01:00

Christian Flintrup <chr@mac.com> wrote:

> Jeg _burde_ vel sætte mig ind i regular expressions, men indtil jeg får
> tid, kan nogen så fortælle mig, hvordan jeg får fjernet alle punktummer
> fra en variabel i et shell script?

Ja. se manualsider til: sed(1), regex(7), gawk(1)/info gawk

> Jeg har en variabel, domainname.
> En anden variabel, username, skulle gerne indeholde det samme som
> domainname - men uden nogen punktummer.

Til bash shell/ posix shell:

DOM="a.b.c"
VAR=`echo $DOM | sed 's/\.//g'` " n(forskellige "plings": ' != ` )

--
no signature :)

Klaus Alexander Seis~ (29-01-2002)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 29-01-02 06:50

Frank Damgaard skrev:

> DOM="a.b.c"
> VAR=`echo $DOM | sed 's/\.//g'` " n(forskellige "plings": ' != ` )

Eller

DOM="a.b.c"
VAR=$(echo $DOM | tr -d .)


// Klaus

--
><>    vandag, môre, altyd saam

Christian Flintrup (29-01-2002)
Kommentar
Fra : Christian Flintrup


Dato : 29-01-02 07:44

Klaus Alexander Seistrup <spamtrap@magnetic-ink.dk> wrote:

> Frank Damgaard skrev:
>
> > DOM="a.b.c"
> > VAR=`echo $DOM | sed 's/\.//g'` " n(forskellige "plings": ' != ` )
>
> Eller
>
> DOM="a.b.c"
> VAR=$(echo $DOM | tr -d .)

Tak begge to!

- Christian

--
!! Se min signatur. Se min signatur. Se min signatur !!
!! Se min signatur. Se min signatur. Se min signatur !!
!! Se min signatur. Se min signatur. Se min signatur !!
!! Se min signatur. Se min signatur. Se min signatur !!

Claus Rasmussen (29-01-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 29-01-02 12:30

Klaus Alexander Seistrup wrote:

> Frank Damgaard skrev:
>
>> DOM="a.b.c"
>> VAR=`echo $DOM | sed 's/\.//g'` " n(forskellige "plings": ' != ` )
>
> Eller
>
> DOM="a.b.c"
> VAR=$(echo $DOM | tr -d .)

bash har også indbygget et par ting, der kan bruges:

DOM=a.b.c
VAR=${DOM//.}

MVH
-Claus


Klaus Alexander Seis~ (29-01-2002)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 29-01-02 15:11

Claus Rasmussen skrev:

> DOM=a.b.c
> VAR=${DOM//.}

Smart!

// Klaus

--
><>    vandag, môre, altyd saam

Claus Rasmussen (29-01-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 29-01-02 16:04

Klaus Alexander Seistrup wrote:

> Claus Rasmussen skrev:
>
>> DOM=a.b.c
>> VAR=${DOM//.}
>
> Smart!

Ja. Men desværre er tr eller sed løsningen tit nemmere at læse.
Specielt hvis man også har gang i de andre specielle bash operatorer
samtidigt. Hvad foregår der f.eks her:

#!/bin/bash

v=${1%.tar.*}
v=${v#*-}
echo ${v%%-*}

Løsning: Det trækker et versionsnummer ud af et standard pakkenavn
som f.eks "linux-2.4.17-ac3.tar.gz" -> "2.4.17".

-Claus


frank damgaard (29-01-2002)
Kommentar
Fra : frank damgaard


Dato : 29-01-02 17:09

Claus Rasmussen <clr@cc-consult.dk> wrote:

>>> DOM="a.b.c"
>>> VAR=`echo $DOM | sed 's/\.//g'` " n(forskellige "plings": ' != ` )
>>
.....
> bash har også indbygget et par ting, der kan bruges:

> DOM=a.b.c
> VAR=${DOM//.}

Smart :)
og det virker også med "bash --posix" :)


--
Frank Damgaard |


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408897
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste