Nummern am Anfang mit find regex finden

Hinweis: In dem Thema Nummern am Anfang mit find regex finden gibt es 3 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo zusammen,


    wie gestalte ich den nachfolgenden Regex Linux-gerecht?

    Code
    ^\d+\..+

    Ich will so etwas finden:

    Code
    01. Band - Title.mp3

    Der Reguläre Ausdruck ist korrekt, dass habe ich mit https://www.regex101.com/ getestet.


    Ich habe folgendes auprobiert, jedoch erfolglos:

    Code
    find . -regextype sed -regex "^\d+\..+"


    Danach zum Testen noch folgende erfolglose Versuche:

    Code
    echo '' > "01. Band - Title.txt"
    user@localhost:~/Dokumente> find . -regextype sed -regex "^[0-9]+\..+$"
    user@localhost:~/Dokumente> find . -regextype sed -regex "^[0-9]+\\..+$"
    user@localhost:~/Dokumente> find . -regextype sed -regex "^[0-9]+\\\..+$"
    user@localhost:~/Dokumente> find . -regextype sed -regex ".+$"
    user@localhost:~/Dokumente> find . -regextype sed -regex ".+"
    user@localhost:~/Dokumente> find . -regextype sed -regex "[0-9]"
    user@localhost:~/Dokumente> find . -regextype sed -regex [0-9]
    user@localhost:~/Dokumente> ls -lha | grep -i '[0-9]+'
    user@localhost:~/Dokumente> ls -lha | grep -i [0-9]+

    Einzig das hier ging:

    Code
    find . -regex '.*'
    .
    ./01. Band - Title.txt

    Bwz. auch mit dem + Modifier.


    Mein Ziel ist es letztlich die Zahlen vorne dran durch nichts zu ersetzen, aber ich wollte erstmal den find Befehl selbst testen.


    Für Hilfe hierzu wäre ich dankbar.


    PS: Und warum gibt es keinen Perl Regex Dialekt Typ? Und wo soll meines überhaupt Dialekt sein?!


    MFG


    derwunner

    Diese Signatur ist derzeit nicht verfügbar.

    Für den Inhalt des Beitrages 296028 haftet ausdrücklich der jeweilige Autor: derwunner

  • "find" liefert Dir einen relativen Pfad -- also nicht einfach nur den Dateinamen. Der String ist also sowas wie z.B.:

    Code
    ./01. Band - Title.mp3

    Der fängt nicht mit einer Ziffer an.

    Für den Inhalt des Beitrages 296046 haftet ausdrücklich der jeweilige Autor: Welm

  • "find" liefert Dir einen relativen Pfad -- also nicht einfach nur den Dateinamen. Der String ist also sowas wie z.B.:

    Code
    ./01. Band - Title.mp3

    Der fängt nicht mit einer Ziffer an.

    Aber selbst dann geht es nicht:

    Code
    find . -regextype sed -regex "^\.\/\d+\."

    Auch ohne "suche am Anfang" geht es nicht.

    Diese Signatur ist derzeit nicht verfügbar.

    Für den Inhalt des Beitrages 296053 haftet ausdrücklich der jeweilige Autor: derwunner

  • Das "\d" für "digit" gibt es bei sed? Ich hab so ne Assoziation zu Perl ... ist aber alles lang her ...

    Code
     find . -regex "\./[0-9]+\..*"

    tut's jedenfalls bei mir.

    Für den Inhalt des Beitrages 296062 haftet ausdrücklich der jeweilige Autor: Welm