Teil aus einer Variablen Extrahieren

Diskutiere Teil aus einer Variablen Extrahieren im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hi Ich hab eine Variable mit diesen Inhalt c:/qls/qls/kln/qsp/fax/log/1_111111.fax davon brauche ich nu den rest und zwar 1_111111.fax...

  1. muemmi

    muemmi Eroberer

    Dabei seit:
    14.12.2005
    Beiträge:
    65
    Zustimmungen:
    0
    Hi

    Ich hab eine Variable mit diesen Inhalt

    c:/qls/qls/kln/qsp/fax/log/1_111111.fax

    davon brauche ich nu den rest und zwar 1_111111.fax

    ich kriegs nicht hin!
     
  2. #2 rikola, 21.12.2006
    Zuletzt bearbeitet: 21.12.2006
    rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Ist zwar sehr problemspezifisch, aber in Deinem Fall koenntest Du
    Code:
    tg@nachtigaller:~$ name="c:/qls/qls/kln/qsp/fax/log/1_111111.fax"
    tg@nachtigaller:~$ basename $name
    1_111111.fax
    
    ausnutzen.
    [edit]
    Ausserdem geht noch
    Code:
    tg@nachtigaller:~$ name="c:/qls/qls/kln/qsp/fax/log/1_111111.fax"
    tg@nachtigaller:~$ echo ${name##*/}
    1_111111.fax
    
    Ist vielleicht ein bisschen besser.
    [/edit]
     
  3. chr1s

    chr1s Jungspund

    Dabei seit:
    07.12.2006
    Beiträge:
    11
    Zustimmungen:
    0
    wenn es sich um einen pfad handelt:

    Code:
    basename "$variable"
     
  4. muemmi

    muemmi Eroberer

    Dabei seit:
    14.12.2005
    Beiträge:
    65
    Zustimmungen:
    0
    Danke!

    Beides klappt!

    mich würde wohl die erkläung zum zweiten befehl interssieren
     
  5. #5 Schlaubi_fi.de, 21.12.2006
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    huhu,

    such mal in der Manpage von Bash Online Version
    nach Parameter Expansion bzw. nach ${parameter##word}
     
  6. #6 muemmi, 21.12.2006
    Zuletzt bearbeitet: 21.12.2006
    muemmi

    muemmi Eroberer

    Dabei seit:
    14.12.2005
    Beiträge:
    65
    Zustimmungen:
    0
    das läßt mir jetzt keine ruhe

    ich übersetze das echo ${name##*/} so

    nehme alles "*" vor dem "/" und aus der variable "name" und wefe es auf den müll

    richtung müßte demanch von hinten nach vorne sein

    oder andersrum:

    lösche alles bis zum "/" (incl) und behalte den rest


    Das zweite tippe ich bzw habe ich es mal umgeschrieben
     
  7. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Richtung ist von links nach rechts, es wird aber bei ## versucht, soviel wie möglich zu matchen (im Gegensatz zu #, da wird das kleinste Auftreten des Suchmusters gematcht).

    Gruss, Xanti
     
  8. muemmi

    muemmi Eroberer

    Dabei seit:
    14.12.2005
    Beiträge:
    65
    Zustimmungen:
    0
    ich habs verstanden!

    mann ist das schwer
     
  9. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Cool. Verstanden habe ich es nicht. Ich probiere immer aus, was bei '%', '#', '%%'', '##' passiert.
     
  10. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Es ist nicht so schwer. ;)

    Je mächtiger etwas ist (hier die Shell), umso komplexer ist sie damit zwangsläufig.

    @rikola: oder man liest die man-Page. Merken tu ich mir sowas auch nicht. ;)
     
  11. #11 muemmi, 22.12.2006
    Zuletzt bearbeitet: 22.12.2006
    muemmi

    muemmi Eroberer

    Dabei seit:
    14.12.2005
    Beiträge:
    65
    Zustimmungen:
    0
    Apropos verstanden!

    Ich habe viele Jahre ( ca 18 ) Erfahrung mit einem serösen Betriebssystem (Also nicht Windows) und da auch noch so richtig zeilenorientiert gearbeitet wird und man sogar den bootvorgang sehen kann habe ich natürlich etwas übung im verstehen von befehlsketten
    trotzdem fällt mir unix/linux etwas schwer da die befehle schon mal etwas sehr abstrakt sind
     
  12. #12 Wolfgang, 22.12.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    So abstrakt sind die garnicht.
    Wenn du erstmal verstanden hast, in welcher Reihenfolge die Shell Pfade und Variablen auflöst und an die Befehle übergibt, ist es nicht so kompliziert.
    Die Möglichkeiten sind allerdings sehr umfangreich.
    Meiner Meinung nach, ist die Steigerungsform Perl. ;)
    Da wird es erst richtig spaßig.

    Gruß Wolfgang
     
Thema:

Teil aus einer Variablen Extrahieren

Die Seite wird geladen...

Teil aus einer Variablen Extrahieren - Ähnliche Themen

  1. Teil einer Variablen auslesen und in neue Variable schreiben

    Teil einer Variablen auslesen und in neue Variable schreiben: Hallo, ist für Euch bestimmt ganz einfach, aber trotz googlen komme ich nicht auf eine Lösung. In Variable x habe ich stehen: xy,ab Nun möchte...
  2. awk: Dateiinhalt/Variableninhalt als Teil einer if-Anweisung

    awk: Dateiinhalt/Variableninhalt als Teil einer if-Anweisung: Hallo Ich habe folgendes Problem: Anhand dem Ergebnis einer Datenbankabfrage habe ich mir mit sed usw. einen String gebastelt und in einer Datei...
  3. "Ein Teil der Installation ist fehlgeschlagen. " bei Debian7 Installation

    "Ein Teil der Installation ist fehlgeschlagen. " bei Debian7 Installation: Hallo zusammen Egal ob ich Debian 7 auf Sparc oder x86 installiere, es komme immer eine Fehlermeldung: "Ein Teil der Installation ist...
  4. IT-Systemadministrator/in in Teilzeit oder freiberuflich

    IT-Systemadministrator/in in Teilzeit oder freiberuflich: Wir suchen ab sofort in Teilzeit (20 Std./Woche) oder freiberuflich eine/n IT-Systemadministrator/in. Ihr Aufgabengebiet: Administration,...
  5. GSoC 2016: Teilnehmer angekündigt

    GSoC 2016: Teilnehmer angekündigt: Der Suchmaschinenbetreiber Google hat die Namen der akzeptierten Teilnehmer bekannt gegeben, die im Rahmen des diesjährigen Summer of Code (GSoC)...