Array mit Werte - die Leerzeichen beinhalten - abfüllen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von banshe, 22.02.2011.

  1. banshe

    banshe Grünschnabel

    Dabei seit:
    22.02.2011
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo zusammen

    Bin neu hier und hab direkt eine Frage...

    Ich habe ein Befehl der mir einige Zeilen mit Werten ausgibt:

    Befehl:
    Code:
    vmware-cmd -l
    Ausgabe:
    Code:
    /vmfs/volumes/177fbd/CENTOS-5.4-32BIT/CENTOS-5.4-32BIT.vmx
    /vmfs/volumes/177fbd/vSphere Management Assistant (vMA)/vSphere Management Assistant (vMA).vmx
    etc....
    

    Ich möchte diese ausgabe nun in einem Array. Jede Zeile soll eine Element im Array sein.
    Leider macht mir das Array ein Element nur so lange, bis das erste Leerzeichen kommt.

    Aus diesem Grund habe ich am Afang und am Ende jeder Zeile ein " eingefügt und habe die Zeilenumbrüche durch Leerzeichen ersetzt:

    Befehl:
    Code:
    vmware-cmd -l | sed '1d;s/^/"/;s/$/"/' | sed -n -e 'H;${x;s/\n/ /g;p;}' 
    
    Ausgabe:
    Code:
    "/vmfs/volumes/177fbd/CENTOS-5.4-32BIT/CENTOS-5.4-32BIT.vmx"
    "/vmfs/volumes/177fbd/vSphere Management Assistant (vMA)/vSphere Management Assistant (vMA).vmx"
    etc....
    
    Das Array trennt mir die Elemente jedoch immernoch nach dem ersten Leerzeichen... in diesem Beispiel:

    Code:
    array=( `vmware-cmd -l | sed '1d;s/^/"/;s/$/"/' | sed -n -e 'H;${x;s/\n/ /g;p;}'` )
    
    echo ${array[0]}
    "/vmfs/volumes/177fbd/CENTOS-5.4-32BIT/CENTOS-5.4-32BIT.vmx"
    
    echo ${array[1]}
    "/vmfs/volumes/177fbd/vSphere Management Assistant (vMA)/vSphere
    
    echo ${array[2]}
    Management
    

    Wie kann ich das problem lösen? Wie kann ich ihm sagen dass er von " bis " in ein Element ablegen soll?


    Danke und Grüsse
     
  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 doc, 22.02.2011
    Zuletzt bearbeitet: 22.02.2011
    doc

    doc Kaffeetrinker

    Dabei seit:
    26.08.2006
    Beiträge:
    586
    Zustimmungen:
    0
    Ort:
    bremen
    IFS=$'\n'
    array=( `vmware-cmd -l`)
    unset IFS

    ... man bash

    edit: google: "ifs bash" ist wahrscheinlich eher aufschlussreich :P

    wenns denn die bash ist von anderen shell hab ich kein plan
     
  4. banshe

    banshe Grünschnabel

    Dabei seit:
    22.02.2011
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo doc!

    Danke vielmals! Klappt wunderbar! :)
     
Thema: Array mit Werte - die Leerzeichen beinhalten - abfüllen
Besucher kamen mit folgenden Suchen
  1. im array leerzeilen anzeigen

Die Seite wird geladen...

Array mit Werte - die Leerzeichen beinhalten - abfüllen - Ä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. [PHP] Checkboxen-Auswahl + dazugehörige Werte in Array

    [PHP] Checkboxen-Auswahl + dazugehörige Werte in Array: Hi, ich habe mit checkboxen eine Liste erstellt, aus der verschiedene Gegenstände durch Haken setzen markiert werden können. Über einen...
  3. Einem bestehenden array Werte anhängen

    Einem bestehenden array Werte anhängen: Hallo, ich würde gerne in C ein array deklariern mit erst einmal 0 Parametern und dem Array dann nach und nach Parameter hinzufügen. Erinnere...
  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. Zahlenwerte von Datei in 2Dim-Array lesen

    Zahlenwerte von Datei in 2Dim-Array lesen: Nach mehrstündiger Suche bin ich mittlerweile wirklich verzweifelt und komme als C++ Quasi-Jungfrau (zumindest komm' ich mir so vor) einfach nicht...