Veröffentlicht 22. Juli 200817 j 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???
22. Juli 200817 j 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ß
23. Juli 200817 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.