tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
451
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    angelikamorgan angelikamorgan ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    89
    Hallo Zusammen,

    Auf der Festplatte befindet sich die folgende Datei:
    ./folder/subfolder/subsubfolder/90-33-22.jpg

    Ich möchte nur ein Teil des Dateinamens auslesen.
    ./folder/subfolder/subsubfolder/?-33-22.jpg

    #!/bin/bash

    tmp=""

    for i in $(find ./ -name "*.jpg")
    do
    tmp=${i%.*}
    echo $tmp
    done


    Das obige Script gibt folgendes aus:
    ./folder/subfolder/subsubfolder/90-33-22

    Ich möchte gerne folgende Ausgabe erhalten:
    90

    Wie kann ich die Zahl zwischen dem Ordner-Namen und dem Bindestrich auslesen ?

    Gruß
    Angelika, die Script Anfängering
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    ${i%%-*} sollte alles ab dem ersten Bindestrich entfernen.

    Und das ist übrigens kein klassischer regulärer Ausdruck sondern eine eigene Syntax. So steht ? für ein Zeichen und * für kein oder beliebig viele Zeichen. Dein Ausdruck ${i%.*} bedeutet also, entferne die kürzeste Übereinstimmung vom Ende aus (${Variable%Ausdruck}) die mit einem Punkt beginnt und dem beliebig viele beliebige Zeichen folgen (.*). ${Variable%%Ausdruck} entfernt die längste Übereinstimmung.
     
    Markus Wulftange

  3. #3
    angelikamorgan angelikamorgan ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    89
    Hallo Gumbo,

    danke für die schnelle Antwort. Es war mir nicht klar, dass sich die Notation von Regex unterscheidet

    Ich habe mich nur sehr stark gewundert


    Kannst du mir bitte noch verraten, wie ich die gewünschte Zahl freistellen kann ?

    Wenn das hier mein String ist,

    ./folder/subfolder/subsubfolder/90-33-22.jpg

    dann möchte ich nur die Zahl 90 ausschneiden.

    Gruß
    Angelika
    Geändert von angelikamorgan (17.08.09 um 17:13 Uhr)
     

  4. #4
    angelikamorgan angelikamorgan ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    89
    die 90 lässt sich so ausschneiden:

    Code :
    1
    
    90-33-22.jpg | cut -d "-" -f1

    Gruß
    Angelika
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 25.06.10, 12:07
  2. [C#] Regex Problem
    Von Squizzer im Forum .NET Windows Forms
    Antworten: 8
    Letzter Beitrag: 01.04.10, 16:53
  3. Antworten: 1
    Letzter Beitrag: 21.01.08, 16:58
  4. Regex Problem
    Von Bogat im Forum PHP
    Antworten: 2
    Letzter Beitrag: 16.08.07, 15:02
  5. Regex Problem
    Von Hatachy im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 21.07.04, 19:32