Startpagina > Bestands- en mapbeheer > basename

basename: Extraheer de bestandsnaam uit een pad

Het basename commando extraheert de bestandsnaam of directorynaam uit een gegeven bestandspad door het directorygedeelte te verwijderen. Met name de `-z` optie beëindigt de uitvoer met een null-teken, waardoor scripts veilig kunnen omgaan met bestandsnamen die spaties of speciale tekens bevatten.

Overzicht

basename is een standaard utility die wordt gebruikt om het laatste component (bestands- of directorynaam) van een bestandspad te extraheren. De `-z` optie beëindigt de uitvoer met een null-teken in plaats van een newline, wat problemen voorkomt die worden veroorzaakt door speciale tekens zoals spaties, tabs en newlines in bestandsnamen wanneer deze worden gebruikt met commando's zoals `find -print0` en `xargs -0`.

Belangrijkste Kenmerken

  • Extraheert bestands-/directorynaam uit bestandspad
  • Ondersteunt uitvoer met null-teken beëindiging (-z)
  • Veilige bestandsnaamverwerking in scripts
  • Optioneel verwijderen van achtervoegsels

Belangrijkste Opties

Het basename commando is relatief eenvoudig, maar biedt een paar nuttige opties.

Uitvoer Formaat

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`basename` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Diverse toepassingsvoorbeelden van basename -z.

Standaard null-beëindigde uitvoer

basename -z "/home/user/my document.txt" | xargs -0 echo

Extraheert de bestandsnaam uit een bestandspad en beëindigt deze met een null-teken.

Achtervoegsel verwijderen en null-beëindigen

basename -z "/path/to/archive.tar.gz" .tar.gz | xargs -0 echo

Extraheert de bestandsnaam uit een bestandspad, verwijdert een specifiek achtervoegsel en beëindigt deze met een null-teken.

Veilige verwerking met find en xargs

find . -maxdepth 1 -type f -print0 | xargs -0 -I {} basename -z {} | xargs -0 echo "Verwerkt bestand:"

Vindt bestandsnamen met het find commando, scheidt ze met null-tekens, verwerkt ze met basename en geeft ze veilig door aan het volgende commando met xargs.

Verwerken van meerdere bestandspaden

echo -e "/dir/file one.txt\0/dir/file two.log" | xargs -0 -I {} basename -z {} | xargs -0 -n 1 echo

Verwerkt meerdere bestandspaden tegelijk en verkrijgt resultaten gescheiden door null-tekens.

Tips & Aandachtspunten

Nuttige tips en aandachtspunten bij het gebruik van basename -z.

Belang van het gebruik van null-tekens

Wanneer bestandsnamen spaties, tabs, newlines of andere speciale tekens kunnen bevatten, zorgt de `-z` optie ervoor dat deze tekens correct worden herkend als onderdeel van de bestandsnaam, waardoor scriptfouten worden voorkomen. Dit is een krachtige combinatie, vooral bij gebruik met `find -print0` en `xargs -0`.

  • Veilige verwerking: Voorkomt parseerfouten veroorzaakt door spaties of speciale tekens in bestandsnamen.
  • Script compatibiliteit: Volledig compatibel met andere commando's die null-tekens als scheidingsteken gebruiken, zoals `xargs -0`, `read -d ''`.

Aandacht bij het verwijderen van achtervoegsels

Bij het verwijderen van achtervoegsels wordt alleen het achtervoegsel verwijderd als het exact overeenkomt met het einde van de bestandsnaam. Bijvoorbeeld, `basename -z "file.txt.bak" .bak` retourneert `file.txt`, maar `basename -z "file.txt.bak" .txt` retourneert `file.txt.bak`.


gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.


Hétzelfde categoriecommando