/ 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
Finde en værdi i en streng
Fra : Moe


Dato : 21-04-05 13:56

Jeg får returneret en linie, som er greppet ud med awk:

500.17/601.737/302.7/0.000

Ud fra den linie, vil jeg gerne have tallet 601.737 - altså den anden
værdi. Hvordan får jeg den pakket ud med awk eller noget andet?

 
 
Jesper Krogh (21-04-2005)
Kommentar
Fra : Jesper Krogh


Dato : 21-04-05 14:19

I dk.edb.system.unix, skrev Moe:
> Jeg får returneret en linie, som er greppet ud med awk:
>
> 500.17/601.737/302.7/0.000
>
> Ud fra den linie, vil jeg gerne have tallet 601.737 - altså den anden
> værdi. Hvordan får jeg den pakket ud med awk eller noget andet?

$ echo "500.17/601.737/302.7/0.000" | cut -d\/ -f2
601.737

Jesper

--
../Jesper Krogh, jesper@krogh.cc, Jabber ID: jesper@jabbernet.dk
.... der er blevet medlem af Free Software Foundation i denne uge:
https://www.fsf.org/associate/join/am_join_form1


Moe (21-04-2005)
Kommentar
Fra : Moe


Dato : 21-04-05 14:39

> $ echo "500.17/601.737/302.7/0.000" | cut -d\/ -f2
> 601.737

Tak for hurtigt svar - det virker fint.

Kasper Dupont (24-04-2005)
Kommentar
Fra : Kasper Dupont


Dato : 24-04-05 20:47

Jesper Krogh wrote:
>
> $ echo "500.17/601.737/302.7/0.000" | cut -d\/ -f2

Backslashen er ikke nødvendig, jeg synes
linien er lidt nemmere at læse uden:
echo 500.17/601.737/302.7/0.000 | cut -d/ -f2
601.737

--
Kasper Dupont

Jan Birk (22-04-2005)
Kommentar
Fra : Jan Birk


Dato : 22-04-05 08:56

> 500.17/601.737/302.7/0.000
>
> Ud fra den linie, vil jeg gerne have tallet 601.737 - altså den anden
> værdi. Hvordan får jeg den pakket ud med awk eller noget andet?

Hvis du vil blive i awk, kan du ændre standard feltseparatoren med -F:

awk -F/ '{print $2}'

/Jan

Moe (25-04-2005)
Kommentar
Fra : Moe


Dato : 25-04-05 09:33

>> 500.17/601.737/302.7/0.000
>> Ud fra den linie, vil jeg gerne have tallet 601.737 - altså den anden
>> værdi. Hvordan får jeg den pakket ud med awk eller noget andet?
>
> Hvis du vil blive i awk, kan du ændre standard feltseparatoren med -F:
> awk -F/ '{print $2}'

Tak, det er den mest elegante (og for mig, forståelige) løsning.

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste