basename
basename - Verzeichnis und Suffix von Dateinamen entfernen
Beschreibung
basename - gibt den reinen Dateinamen zurück und schneidet dabei vorangestellte absolute oder relative Pfade ab. Bei Angabe eines Suffix, beispielsweise der Dateiendung, wird auch dieses entfernt.
Das Programm basename kann in Shell-Skripten sehr hilfreich sein. Möchte man hingegen den vollständigen Pfad erhalten, benötigt man den Befehl dirname.
Den NAMEn ohne führende Verzeichnisse ausgeben. Wenn angegeben, auch SUFFIX entfernen.
Die obligatorischen Argumente für Optionen sind für deren Kurz- und Langform gleich.
Installation
Aufruf
basename [OPTIONEN] NAME [SUFFIX]
basename NAME [SUFFIX]
basename OPTION… NAME…
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
-a | --multiple | Ermöglicht die Angabe mehrerer Dateien. Mehrere Argumente unterstützen und jedes als NAME behandeln | |
-s | --suffix= | ENDUNG | Entfernt das angegebene Suffix. Ein nachfolgendes SUFFIX entfernen; bezieht -a ein |
--help | gibt Informationen zum Befehl. zeigt Hilfeinformationen an und beendet das Programm. | ||
--version | gibt Informationen zur Version. gibt Versionsinformationen aus und beendet das Programm. | ||
-z | --zero | Jede Ausgabezeile mit einem Nullbyte statt des Zeilenumbruchs abschließen |
Parameter
Umgebungsvariablen
Exit-Status
Anwendung
$ basename /etc/passwd passwd
$ basename ./datei datei
$ basename ~/datei datei
$ basename ../andererUser/Musik/lied.mp3 lied.mp3
Dateiendung entfernen
$ basename datei.txt .txt datei
Mehrere Dateien
Werden mit der Option --multiple mehrere Dateien angegeben und soll dabei eine Dateiendung entfernt werden, muss diese mit der Option --suffix= angegeben werden:
$ basename --suffix=.list --multiple /etc/apt/sources.list.d/*.list anyone-ppa-trusty localrepo
BEISPIELE
basename /usr/bin/sort
-> »sort«
basename include/stdio.h .h -> »stdio«
basename -s .h include/stdio.h -> »stdio«
basename -a irgendwas/str1 irgendwas/str2 -> »str1«, gefolgt von »str2«