BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Dateinamen aus Pfad extrahieren

In einem Shellskript kann es vorkommen, dass man einen vollständigen Pfad zu einer Datei besitzt und man nur den Dateinamen verwenden möchte. Dazu gibt es basename(1). Man übergibt einfach den vollständigen Pfad an basename und kriegt den Dateinamen zurück:

# basename /usr/local/sbin/portsopt
portsopt

Umgekehrt kriegt man mit dirname(1) das Verzeichnis zurück, in dem sich die Datei befindet:

# dirname /usr/local/sbin/portsopt
/usr/local/sbin

Sowohl basename als auch dirname findet man in FreeBSD und OpenBSD im Basissystem.

 Permalink