Datei Pfad zerlegen Regex

18/10/2007 - 22:56 von Karl Teuschler | Report spam
Hallo,

Ich möchte gerne mit find einen Verzeichnisbaum
1. nach allen Dateien durchsuchen.
2. vom Ergebniss den Dateinamen vom gesamten Pfad freistellen
3. eine mögliche Dateierweiterung wegschneiden
4. noch Zahlen und Bindestrich Unterstrich und Leerzeichen am Anfang
und am Ende entfernen.

Der von find gefundene Rohstring kann so aussehen.

/dir/001_-ein namenummer3245.mp3

daraus soll nach möglichkeit dann

ein namenummer

entstehen.

Wie mache ich soetwas am einfachsten?
Danke im Voraus

Karl
 

Lesen sie die antworten

#1 Achim Peters
19/10/2007 - 09:58 | Warnen spam
Karl Teuschler schrieb:

Ich möchte gerne mit find einen Verzeichnisbaum
1. nach allen Dateien durchsuchen.
2. vom Ergebniss den Dateinamen vom gesamten Pfad freistellen
3. eine mögliche Dateierweiterung wegschneiden
4. noch Zahlen und Bindestrich Unterstrich und Leerzeichen am Anfang
und am Ende entfernen.



Das hattest Du (evt. bis auf 3.) schon 12h vorher gefragt und auch
größtenteils beantwortet bekommen. Wieso machst Du jetzt einen neuen
Thread für 3. auf?

Wie mache ich soetwas am einfachsten?



Definiere "einfach". Ich würd's so machen (ein "-e" mehr als in der
Lösung im anderen Thread - zur Strafe ungetestet):

find . -exec basename "{}" \; |
sed -e "s/\.[^.]*$//" -e "s/^[ 0-9_-]*//" -e "s/[ 0-9_-]*$//"

Bye
Achim

Ähnliche fragen