Basename: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „line>“ durch „line copy>“ |
|||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
'''basename''' - gibt den reinen Dateinamen zurück und schneidet dabei vorangestellte absolute oder relative Pfade ab | '''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 | * Bei Angabe eines Suffix, beispielsweise der Dateiendung, wird auch dieses entfernt | ||
* Das Programm basename kann in '''[[Linux/Shells und Shell-Skripte|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 == | == Installation == | ||
'''Basename''' ist Teil von [[GNU Core Utilities]] | '''Basename''' ist Teil von [[GNU Core Utilities]] | ||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1-3" line> | <syntaxhighlight lang="bash" highlight="1-3" line copy> | ||
basename [OPTIONEN] NAME [SUFFIX] | basename [OPTIONEN] NAME [SUFFIX] | ||
basename NAME [SUFFIX] | basename NAME [SUFFIX] | ||
Zeile 36: | Zeile 35: | ||
== Anwendung == | == Anwendung == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename /etc/passwd | basename /etc/passwd | ||
passwd | passwd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename ./datei | basename ./datei | ||
datei | datei | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename ~/datei | basename ~/datei | ||
datei | datei | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename ../andererUser/Musik/lied.mp3 | basename ../andererUser/Musik/lied.mp3 | ||
lied.mp3 | lied.mp3 | ||
Zeile 57: | Zeile 56: | ||
=== Dateiendung entfernen === | === Dateiendung entfernen === | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename datei.txt .txt | basename datei.txt .txt | ||
datei | datei | ||
Zeile 64: | Zeile 63: | ||
=== Mehrere Dateien === | === 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: | Werden mit der Option --multiple mehrere Dateien angegeben und soll dabei eine Dateiendung entfernt werden, muss diese mit der Option --suffix= angegeben werden: | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename --suffix=.list --multiple /etc/apt/sources.list.d/*.list | basename --suffix=.list --multiple /etc/apt/sources.list.d/*.list | ||
anyone-ppa-trusty | anyone-ppa-trusty | ||
Zeile 72: | Zeile 71: | ||
=== Beispiele === | === Beispiele === | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename /usr/bin/sort | basename /usr/bin/sort | ||
-> ''sort'' | -> ''sort'' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename include/stdio.h .h | basename include/stdio.h .h | ||
-> ''stdio'' | -> ''stdio'' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename -s .h include/stdio.h | basename -s .h include/stdio.h | ||
-> ''stdio'' | -> ''stdio'' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
basename -a irgendwas/str1 irgendwas/str2 | basename -a irgendwas/str1 irgendwas/str2 | ||
-> ''str1'', gefolgt von ''str2'' | -> ''str1'', gefolgt von ''str2'' |
Aktuelle Version vom 11. Mai 2025, 13:39 Uhr
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
Basename ist Teil von GNU Core Utilities
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 |
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''
Anhang
Siehe auch
Dokumentation
- Man-Page
- Info-Page