basename

basename geeft de bestandsnaam terug uit een pad — zonder het mapgedeelte.

Basisgebruik

basename /home/dexter/docs/rapport.pdf
# rapport.pdf

basename /home/dexter/docs/rapport.pdf .pdf
# rapport  (extensie verwijderd)

Opties

OptieBetekenis
suffixVerwijder opgegeven achtervoegsel
-aMeerdere namen verwerken
-s suffixAchtervoegsel verwijderen

Voorbeelden

Extensie verwijderen:

basename rapport.pdf .pdf
# rapport

basename -s .txt bestand.txt
# bestand

In een script:

for f in /var/log/*.log; do
    echo "Verwerk: $(basename "$f")"
done

Scriptnaam in foutmelding:

echo "Gebruik: $(basename "$0") [opties] bestand" >&2

Tip

Combineer met dirname om pad en naam apart te verwerken:

PAD="/home/dexter/docs/rapport.pdf"
echo "Map: $(dirname "$PAD")"
echo "Bestand: $(basename "$PAD")"
shellscripting