sed Resultat in Variable speichern

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von hunzimar, 14.07.2009.

  1. #1 hunzimar, 14.07.2009
    hunzimar

    hunzimar Grünschnabel

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

    Ich versuche das Resultat der folgenden Zeile in einer Variable zu speichern und auszugeben:
    Code:
    a="/a/b/c/d/e/f.mov"|sed 's!.*/ \(.*\)/.*!\1'
    echo $a
    
    Leider funktioniert dies nicht undich sehe nicht, warum!
    Hat jemand eine Idee?!

    Besten Dank!
     
  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 bytepool, 14.07.2009
    Zuletzt bearbeitet: 14.07.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    ich denke du solltest dich noch ein wenig in die Grundlagen von Shell Skripten einlesen, das kann ja auch von vorne bis hinten nicht funktionieren.

    Gehen wir das mal schnell der Reihe nach durch:

    1. "/a/b/c/d/e/f.mov" ist kein Befehl, sed bekommt keinen Input. Setze ein echo davor.

    2. Die sed Ersetzung ist nicht terminiert, das Abschlusszeichen nicht vergessen (! in deinem Fall).

    3. Du moechtest das Ergebnis der Ersetzung haben, also musst du das ganze erstmal auswerten lassen, indem du es in einer Subshell laufen laesst. $() ist dein Freund.

    Code:
    a="$(echo foo | sed 's$foo$bar$')"
    
    Edit:
    Ach so, ja, ! geht natuerlich nicht weil das eine spezielle Bedeutung fuer die bash hat, nimm stattdessen $.

    mfg,
    bytepool
     
  4. #3 hunzimar, 14.07.2009
    hunzimar

    hunzimar Grünschnabel

    Dabei seit:
    14.07.2009
    Beiträge:
    2
    Zustimmungen:
    0
    ok, Danke. Funktioniert so. habe eben erst wiedermal begonnen ein Shell Skript zu schreiben...

    mfg
     
  5. #4 bytepool, 14.07.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Kein Problem. :)

    Eine kleine Randnotiz haette ich noch. "Das funktioniert nicht" ist keine adaequate Fehlerbeschreibung, in der Zukunft waere es hilfreich wenn du auch direkt die komplette Fehlermeldung mit angeben wuerdest. Das erhoeht, gerade bei nicht-trivialen Problemen, deine Chancen Hilfe zu bekommen.

    mfg,
    bytepool
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema: sed Resultat in Variable speichern
Besucher kamen mit folgenden Suchen
  1. sed in Variable ausgeben

Die Seite wird geladen...

sed Resultat in Variable speichern - Ähnliche Themen

  1. Resultat von entferntem Unix Script Aufruf auswerten

    Resultat von entferntem Unix Script Aufruf auswerten: Hallo Zusammen, ich habe folgenden Aufruf in meinem Script auf Server myServer1: ssh -o IdentityFile=/home/.ssh/s_user s_test2@kippol1 "cd...
  2. Linux 4.5 will UEFI-Variablen besser schützen

    Linux 4.5 will UEFI-Variablen besser schützen: Das Löschen bestimmter UEFI-Variablen kann manche Rechner nicht mehr startbar machen. Das kommende Linux 4.5 ergreift Maßnahmen dagegen, die im...
  3. Wie komme ich an den Inhalt des Inhalts einer Variable?

    Wie komme ich an den Inhalt des Inhalts einer Variable?: Hallo Zusammen, ich möchte meine Buildumgebung vereinfachen und besser zu automatisieren. Ein Skript schreibt Pfade in die env und diese...
  4. Textdatei zeilenweise in durchnummerierte Variablen schreiben

    Textdatei zeilenweise in durchnummerierte Variablen schreiben: Hi Leute, ich versuche folgendes Problem zu lösen. Ich möchte eine Textdatei einlesen und den Inhalt jeder Zeile in immer eine neue Variable...
  5. mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern

    mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern: Hallo zusammen, es geht um folgenden Teil meiner .sh-Datei: NumberCheck=`mysql $SQL_ARGS "SELECT lkw, Firma FROM adb_group WHERE...