Teil aus einer Variablen Extrahieren

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von muemmi, 21.12.2006.

  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. 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 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]
     
  4. chr1s

    chr1s Jungspund

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

    Code:
    basename "$variable"
     
  5. 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
     
  6. #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}
     
  7. #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
     
  8. 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
     
  9. muemmi

    muemmi Eroberer

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

    mann ist das schwer
     
  10. 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.
     
  11. 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. ;)
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. #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
     
  14. #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. 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,...
  4. 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)...
  5. Systemadministrator/ in als Teilzeitstelle

    Systemadministrator/ in als Teilzeitstelle: Systemadministrator/ in als Teilzeitstelle Die DiOmega GmbH ist eine Agentur mit Sitz in Frankfurt am Main, die sich auf IT- und...