Basename: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „line>“ durch „line copy>“ |
|||
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Beschreibung == | == Beschreibung == | ||
'''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 | |||
* 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]] | |||
== 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 28: | Zeile 27: | ||
| -s || --suffix= || ENDUNG || Entfernt das angegebene Suffix. Ein nachfolgendes SUFFIX entfernen; bezieht -a ein | | -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 | | || --help || || gibt Informationen zum Befehl. zeigt Hilfeinformationen an und beendet das Programm | ||
|- | |- | ||
| || --version || || gibt Informationen zur Version. gibt Versionsinformationen aus 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 | | -z || --zero || || Jede Ausgabezeile mit einem Nullbyte statt des Zeilenumbruchs abschließen | ||
|} | |} | ||
== 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 108: | 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 115: | 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 122: | Zeile 70: | ||
=== | === 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'' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | <noinclude> | ||
=== | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
; Man-Page | |||
;Info-Page | |||
=== Links === | |||
==== Projekt ==== | |||
* [[GNU Core Utilities]] | |||
==== Weblinks ==== | |||
* https://wiki.ubuntuusers.de/basename | |||
{{DISPLAYTITLE:basename}} | |||
{{SORTIERUNG:basename}} | |||
[[Kategorie:Linux/Befehl]] | |||
[[Kategorie:Coreutils]] | |||
</noinclude> |
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