Basename

Aus Foxwiki
Version vom 3. Juni 2022, 11:56 Uhr von Dirkwagner (Diskussion | Beiträge) (Textersetzung - „[[Category:“ durch „[[Kategorie:“)

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.

Anwendung

basename wird über das Terminal aufgerufen:

basename [OPTIONEN] NAME [SUFFIX]

basename kennt dabei mehrere Optionen:

Optionen von basename

Option Beschreibung
-a, --multiple ermöglicht die Angabe mehrerer Dateien
-s, --suffix= entfernt das angegebene Suffix
--help gibt Informationen zum Befehl
--version gibt Informationen zur Version

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.

Beispiele

$ 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

Quellen

  1. Wiki-Ubuntuuser

BEZEICHNUNG basename - Verzeichnis und Suffix von Dateinamen entfernen

ÜBERSICHT basename NAME [SUFFIX] basename OPTION… NAME…

BESCHREIBUNG 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.

-a, --multiple Mehrere Argumente unterstützen und jedes als NAME behandeln

-s, --suffix=ENDUNG Ein nachfolgendes SUFFIX entfernen; bezieht -a ein

-z, --zero Jede Ausgabezeile mit einem Nullbyte statt des Zeilenumbruchs abschließen

--help zeigt Hilfeinformationen an und beendet das Programm.

--version gibt Versionsinformationen aus und beendet das Programm.

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«