Dateipfad extrahieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
zahlhans
Beiträge: 56
Registriert: 06.02.2009 13:09:08

Dateipfad extrahieren

Beitrag von zahlhans » 18.08.2010 11:56:06

Hallo,

ich möchte mit einem kleinen (bash-)Script alle Dateien in einem Verzeichnis (auch in den Unterverzeichnissen) umbenennen. Der neue Name ist (ohne Erweiterung) in $neu gespeichert, z.B. "neuername1". Der alte Name ist in $alt gespeichert und lautet z.B.

./UV1/altername1.aaa
./UV2/UV3/altername2.bbb
./altername3.ccc

Beim Umbenennen soll sowohl der Pfad wie auch die Erweiterung erhalten bleiben, also z.B. ./UV1/altername1.aaa --> ./UV1/neuername1.aaa. Die Erweiterung würde ich mit meinen Grundkenntnissen mit awk hinbekomen. Aber wie bekomme ich nur den Pfad zur Datei? Ich wollte erst mit awk als Feldtrenner "/" nehmen und irgendwie das letzte Feld weglassen - aber das geht doch sicher besser ;)

Benutzeravatar
feltel
Webmaster
Beiträge: 10458
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Re: Dateipfad extrahieren

Beitrag von feltel » 18.08.2010 12:03:50

"dirname" ist das Stichwort. Der gegenpart dazu ist basename, das würde aus einem vollständigen Pfad dann nur den Dateinamen ausspucken.

zahlhans
Beiträge: 56
Registriert: 06.02.2009 13:09:08

Re: Dateipfad extrahieren

Beitrag von zahlhans » 18.08.2010 12:23:55

Vielen Dank, feltel!

Antworten