Übersicht
basename ist ein Dienstprogramm, das den Dateinamen aus einem Dateipfad extrahiert und den Verzeichnispfad weglässt. Mit der Option `-a` können mehrere Pfade gleichzeitig verarbeitet werden, und durch Angabe eines Suffixes als zweites Argument kann dieses vom Dateinamen entfernt werden.
Hauptfunktionen
- Extrahieren von Dateinamen aus Dateipfaden
- Entfernen angegebener Suffixe
- Gleichzeitige Verarbeitung mehrerer Pfade (Option -a)
Hauptoptionen
Der Befehl basename nimmt den Dateipfad und ein optionales Suffix als Argumente entgegen und kann mit der Option `-a` mehrere Pfade gleichzeitig verarbeiten.
Argumente und Optionen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`basename` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Erfahren Sie anhand verschiedener Anwendungsbeispiele des Befehls basename, wie Dateinamen aus Dateipfaden extrahiert werden.
Grundlegende Dateinamenextraktion
basename /home/user/documents/report.pdf
Extrahiert nur den Dateinamen aus dem gegebenen Pfad, wobei der Verzeichnisteil weggelassen wird.
Suffix entfernen
basename /home/user/documents/report.pdf .pdf
Entfernt das angegebene Suffix vom Dateinamen. Wenn das Suffix nicht übereinstimmt, wird es nicht entfernt.
Mehrere Dateinamen extrahieren (Option -a)
basename -a /path/to/file1.txt /another/path/file2.log
Verwendet die Option `-a`, um Dateinamen aus mehreren Dateipfaden zu extrahieren.
Mehrere Dateinamen und Suffix entfernen (Option -a)
basename -a /path/to/image.jpg /another/path/photo.png .jpg
Verwendet die Option `-a` zusammen mit einem angegebenen Suffix, um dieses Suffix von mehreren Dateinamen zu entfernen. Das Suffix wird auf alle Pfade angewendet.
Verarbeitung von Verzeichnispfaden
basename /home/user/documents/
Wenn der letzte Teil des Pfades ein Verzeichnis ist, wird der Name dieses Verzeichnisses zurückgegeben.
Tipps & Hinweise
Der Befehl basename ist sehr nützlich bei der Handhabung von Dateipfaden in Shell-Skripten und kann in Kombination mit dem Befehl dirname verwendet werden, um Dateipfade effektiv zu trennen.
Skriptnutzung
Nützlich, um den Dateinamen ohne Erweiterung aus einer Liste von Dateien zu erhalten.
- for f in *.txt; do echo $(basename "$f" .txt); done
- file_path="/var/log/syslog.20231026"; filename=$(basename "$file_path"); echo "$filename"
Kombination mit dirname
Durch die gemeinsame Verwendung von dirname und basename können der Verzeichnisteil und der Dateinamens-Teil eines Dateipfads getrennt werden.
- Pfad: /home/user/file.txt
- dirname Ergebnis: /home/user
- basename Ergebnis: file.txt
Behandlung von abschließenden Schrägstrichen
basename behandelt den letzten Bestandteil eines Pfades korrekt als Dateinamen, auch wenn ein abschließender Schrägstrich vorhanden ist. Zum Beispiel gibt `basename /path/to/dir/` `dir` zurück.