/ 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
Shell script "split" operation
Fra : Morten


Dato : 24-06-04 12:15

Hej.

Hvis jeg har i en bash shell har en variabel VALUE="aa^bb cc^dd"
hvordan får jeg så "splittet" strengen omkring ^-tegnet?
Jeg har tidligere brugt noget a la:

for i in `echo $VALUE|tr '^' ' '` ...

Men da der kan forekomme whitespace i VALUE så dur den ikke helt.

Findes der en smart metode? Jeg kan evt. bruge tr et par gange til
og så på den måde fjerne whitespace fra strengen først, lave min
for-loop,
og så i den bruge tr endnu en gang for at oversætte tilbage til
whitespace, men det er ikke ret elegant.

Forslag?

Pft.

Morten

 
 
Peter Makholm (24-06-2004)
Kommentar
Fra : Peter Makholm


Dato : 24-06-04 12:33

usenet@kikobu.com (Morten) writes:

> Hvis jeg har i en bash shell har en variabel VALUE="aa^bb cc^dd"
> hvordan får jeg så "splittet" strengen omkring ^-tegnet?
> Jeg har tidligere brugt noget a la:
>
> for i in `echo $VALUE|tr '^' ' '` ...

IFS="^"
for i in $VALUE ; do echo $i; done

> Pft.

Ehhh, ok da.

--
Peter Makholm | There are 10 kinds of people. Those who count in
peter@makholm.net | binary and those who don't
http://hacking.dk |

Peter Makholm (24-06-2004)
Kommentar
Fra : Peter Makholm


Dato : 24-06-04 12:38

Peter Makholm <peter@makholm.net> writes:

> IFS="^"
> for i in $VALUE ; do echo $i; done

Det vil nok være en ide at gemme den gamle IFS og gensætte den
bagefter.


--
Peter Makholm | According to the hacker ethic, the meaning of life
peter@makholm.net | is not Friday, but it is not Sunday either
http://hacking.dk | -- Peeka Himanen

Morten (24-06-2004)
Kommentar
Fra : Morten


Dato : 24-06-04 21:03

Peter Makholm wrote:
> Peter Makholm <peter@makholm.net> writes:
>
>
>>IFS="^"
>>for i in $VALUE ; do echo $i; done
>
>
> Det vil nok være en ide at gemme den gamle IFS og gensætte den
> bagefter.
>
>

Alle tiders!! Takker.

Morten


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

Månedens bedste
Årets bedste
Sidste års bedste