array in der bash

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von ebel, 24.01.2007.

  1. ebel

    ebel Jungspund

    Dabei seit:
    24.01.2007
    Beiträge:
    11
    Zustimmungen:
    0
    Hallo,
    ich bin in der bash-Programmierung eher noch Anfänger. Also verzeiht mir bitte diese Frage. Lasse mich auch gerne auf ein entsprechendes Manual verweisen.

    Ich möchte auf ein bestimmtes Elemnt einer Liste zugreifen.

    Einen string z.B. woerter="bla blup blip" kann ich wie ein array mit einer for Schleife durchlaufen.
    Code:
    for wort in $woerter; do echo $wort;done
    Jetzt würde ich mir wünschen wie in einem array auch auf die Elemnete mit einem Index zugreigfen zu können. Ist das irgendwie möglich? Muss ich vorher splitten?

    Vielen Dank im voraus
    Gruß
    ebel
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 supersucker, 24.01.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Klar geht das.

    Copy & Paste einfach mal folgenden Einzeiler in die Konsole:

    Code:
     woerter=("bla" "blu" "bli"); for((i=0;i<${#woerter};i++)); do echo ${woerter[$i]};done
    
     
  4. #3 Wolfgang, 24.01.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du kannst auch direkt die Elemente manipulieren:
    Siehe auch
    man bash

    Gruß Wolfgang
     
  5. ebel

    ebel Jungspund

    Dabei seit:
    24.01.2007
    Beiträge:
    11
    Zustimmungen:
    0
    string in array umwandeln (casting)

    Hallo supersucker,

    vielen Dank für Deine fixe Anwort. Ich will jetzt eigentlich nur noch den string
    woerter="bla blu bli" in ein array umwandeln (casting).Dann habe ich's. Das sollte doch aber mit declare möglich sein, oder?

    So was wie
    Code:
    woerter="bla blu bli";declare -a woerter
    funktioniert leider nicht

    Gruß
    ebel

     
  6. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Schau's dir mal an:
    Code:
    #!/bin/bash
    
    TEST=(a b c d e f g h)
    for i in ${TEST[@]}
    do
      echo $i
    done
    
    echo ${TEST[4-1]}
     
  7. #6 nico.tillmann, 18.08.2010
    nico.tillmann

    nico.tillmann Grünschnabel

    Dabei seit:
    18.08.2010
    Beiträge:
    1
    Zustimmungen:
    0
    Achtung das "woerter" Beispeil klappt nur weil das erste Wort auch 3 Zeichen hat

    Hallo Supersucker,

    dank für Deinen Tipp aufbauend darauf habe ich es dann hin bekommen:

    Code:
    woerter=("blah" "blu" "bli"); for((i=0;i<${#woerter};i++)); do echo ${woerter[$i]};done
    
    liefert zusätzlich eine Leerzeile, mit Ergänzung [*] hinter woerter geht es aber korrekt:

    Code:
    woerter=("blah" "blu" "bli"); for((i=0;i<${#woerter[*]};i++)); do echo ${woerter[$i]};done
    
    liefert das gewünschte Ergebnis
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema: array in der bash
Besucher kamen mit folgenden Suchen
  1. shell bash größe matrix ausgeben

    ,
  2. bash liste erstellen

    ,
  3. textdokument in array umwandeln bash

Die Seite wird geladen...

array in der bash - Ähnliche Themen

  1. bash: Fehlermeldung und Werte in Array sortieren?

    bash: Fehlermeldung und Werte in Array sortieren?: Hallo, ich probiere den ganzen Tag schon mir bestimmte Teile aus einer Riesentextdatei ausgeben und in mehrere kleine Dateien schreiben zu...
  2. Arrays in der bash

    Arrays in der bash: Hallo zusammen Dies ist mein erster Beitrag. Ich hoffe auf eine gute Antwortenrate :D Also zu meiner Frage: Ich habe ein 2 Scripts...
  3. bash-Skript array decalrieren

    bash-Skript array decalrieren: Hi , ich will mir per skript und cron immer ein paar Dateien bearbeiten . Mein Problem dabei ist, das er die Variblen nicht als string...
  4. [bash] nicht alle array werte werden eingelesen

    [bash] nicht alle array werte werden eingelesen: Hi, ich habe folgendes Problem ich habe ein array mit 29 Elemnten definiert. Wenn ich mir nun aber echo ${#array} ausgeben lasse, kommt er nur...
  5. Verständnisproblem mit array in bash

    Verständnisproblem mit array in bash: Hi zusammen für jedes der Elemente in meinem Skript möchte ich eine Aktion starten und bei Erfolg das Element aus dem Array löschen. Das...