Basename

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

basename - Extrahera filnamnet från en sökväg

Kommandot `basename` används för att extrahera filnamnet från en given sökväg i Unix-liknande operativsystem.

Syntax

basename [ALTERNATIV]... SÖKVÄG [SUFFIX]

Beskrivning

Kommandot `basename` tar bort den överordnade delen av en sökväg och returnerar filnamnet. Om ett suffix anges, tas det också bort från slutet av filnamnet.

Alternativ

Kommandot `basename` stöder flera alternativ som kan användas för att justera dess beteende:

  • -a, --multiple - Behandla varje argument som en sökväg och extrahera filnamnet.
  • -s, --suffix=SUFFIX - Ta bort ett angivet suffix från slutet av varje filnamn.
  • -z, --zero - Avsluta varje utskrivet filnamn med nullbyte istället för en ny rad.
  • --help - Visa hjälpmeddelande och avsluta.
  • --version - Visa versionsinformation och avsluta.

Exempel

Här är några praktiska exempel som visar hur du kan använda `basename`-kommandot:

  • För att extrahera filnamnet från en sökväg:

basename /usr/local/bin/script.sh

Utdata:

script.sh

  • För att extrahera filnamnet utan suffixet:

basename /usr/local/bin/script.sh .sh

Utdata:

script

  • För att hantera flera sökvägar samtidigt:

basename -a /usr/local/bin/script.sh /home/user/document.txt

Utdata:

script.sh
document.txt

  • För att använda nullbyte som avgränsare i utdata:

basename -z /usr/local/bin/script.sh

Utdata (visas som nullbyte i terminal):

script.sh<nullbyte>

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `basename` på macOS jämfört med Linux:

  • **Tillgänglighet:** `basename`-kommandot är tillgängligt både på macOS och Linux och fungerar i stort sett på samma sätt på båda plattformarna.
  • **Alternativ:** De flesta alternativ som finns på GNU-versionen av `basename` är också tillgängliga på macOS, men det är bra att konsultera `man`-sidan på din specifika plattform för att vara säker. Vissa äldre versioner av macOS kan ha mindre skillnader i stöd för vissa alternativ.
  • **Nullbyte-avslut:** Hanteringen av nullbyte-avslut (-z) kan skilja sig beroende på vilken version av `basename` som används.

Exempel på att använda `basename` på macOS:

  • För att extrahera filnamnet från en sökväg:

basename /usr/local/bin/script.sh

  • För att extrahera filnamnet utan suffixet:

basename /usr/local/bin/script.sh .sh

Det är alltid bra att konsultera `man`-sidan för `basename` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `basename`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att sökvägarna du försöker bearbeta är korrekta och tillgängliga.

Se även

  • dirname - Extrahera katalogdelen av en sökväg.
  • realpath - Returnera den absoluta sökvägen.
  • cut - Ta bort sektioner från varje rad i en fil.

Källor