Tjorben Geschrieben 22. Juli 2008 Geschrieben 22. Juli 2008 Hi Ich habe in meinem Bash-Script einen Dateinamen in einer Variablen DATEINAME gespeichert und eine Zahl in der Variablen ZAHL. Jetzt möchte ich mittels regulären Ausdrucks Pfrüfen ob der Dateiname die Zahl vor einem Unterstricht enthält. Also z.B irgendwas67_irgendwas.tif Kann mir jemand sagen wie das gnau geht? Der Reguläre Ausdruck dürfte ja nicht schwer sein, ich habe aber noch nie mit regulären Ausdrücken und Bash zusammengearbeitet. Welches ist denn die richtige Funktion dafür? grep geht doch nur mit Dateien??? Zitieren
mtn Geschrieben 22. Juli 2008 Geschrieben 22. Juli 2008 Hallo, vielleicht ist das ein Lösungsansatz #!/usr/bin/bash for i in `find /path/to/folder/ -regex ".*[0-9]+_.*\.tif"`; do echo $i; done Gruß Zitieren
bigvic Geschrieben 22. Juli 2008 Geschrieben 22. Juli 2008 Hi, schonmal mit ... if [[ $whatever =~ $regex ]]; then versucht? ciao, vic Zitieren
Donie Geschrieben 23. Juli 2008 Geschrieben 23. Juli 2008 Vieleicht etwas aufweniger: if [ $( echo "irgendwas67_irgendwas.tif" | wc -m ) != $( echo "irgendwas67_irgendwas.tif" | sed "s/[[:digit:]]//g" | wc -m ) ]; then echo "Zahl drin."; else echo "Keine Zahl drin."; fi Eventuell musst du den "sed" Befehl noch anpassen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.