Zum Inhalt springen

Basename: Unterschied zwischen den Versionen

Aus Foxwiki
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


Das Programm basename kann in [[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

Links

Projekt

Weblinks