Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: bash script met array  (gelezen 2327 keer)

Offline elifafd

  • Lid
  • Steunpunt: Nee
bash script met array
« Gepost op: 2010/01/30, 21:14:17 »
Hallo,

Ben een newbie hier.

Ben bezig met een scriptje om een xml file uit te lezen.

XML file bestaat uit x aantal variabelen die in de xml file meerdere keren voorkomen.

Nu heb ik diverse variabelen die uit 1 tekst bestaan maar ook variabelen die uit meerdere woorden bestaan bijvoorbeeld "Oude Gracht 12"

Wat heb ik tot nu toe

ik lees de xml file uit aan de hand van de variabele

adres=`awk '/<afl_var_adres>/ {stp=index($0,">")+1; \
newstr=substr($0,stp); \
etp=index(newstr,"<")-1; \
print substr(newstr,0,etp); \
}' $xmlfile`

ik plaats deze vervolgens in een array

L_ARRAY=( `echo ${adres}` )

Nu dacht ik dat ik dmv onderstaand commando de volledige tekst regel te krijgen echter..... ik krijg alleen het 2e woord

echo ${K_ARRAY[2]}

Is er een mogelijkheid om toch die volledige regel (bijvoorbeeld "Oude Gracht 12") in 1 zo'n Array locatie te krijgen

Dus:

echo ${K_ARRAY[2]}

geeft dan: Oude Gracht 12

Ik hoor graag jullie suggesties.

Offline Rachid

  • Vertaalteam
    • rachidbm
    • Mijn blog
  • Steunpunt: Nee
Re: bash script met array
« Reactie #1 Gepost op: 2010/01/31, 14:38:24 »
Wat doet echo ${K_ARRAY[1]} ?
Of wat doet echo ${K_ARRAY} ?
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline elifafd

  • Lid
  • Steunpunt: Nee
Re: bash script met array
« Reactie #2 Gepost op: 2010/01/31, 23:03:31 »
Problem is opgelost

op een iets andere manier

while IFS='<>' read _ starttag value endtag; do
    case "$starttag" in
        afl_var_locatie) Locatie+=("$value") ;;
        afl_var_adres)   Adres1+=("$value");;
    esac
done < $xmlfile