basename

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

basename je standardní UN*Xový počítačový program. Je-li programu basename dán jako argument řetězec představující cestu, program basename odstraní z řetězce předponu až k poslednímu znaku '/'. Tento příkaz je popsán v Single UNIX Specification a je používám především neinteraktivně v shellových skriptech.

Použití[editovat | editovat zdroj]

Podle Single UNIX Specification je použití basename následující:

basename string [suffix]
string
je cesta
suffix
nepovinný parametr, je-li zadán, říká, že patřičná přípona má být také umazána

Příklad[editovat | editovat zdroj]

$ basename /usr/home/jsmith/basename.wiki ki
basename.wi

Efektivita[editovat | editovat zdroj]

Vzhledem k tomu, že basename dokáže najednou zpracovat jen jednu cestu, jeho použití ve vnitřních cyklech shellových skriptů může být brzdou. Uvažujme příklad

while read file; do
  basename "$file"
done < some-input

V tomto příkladu se v každé iteraci cyklu, tedy pro každou řádku vstupu, musí spouštět nový proces. V takovém případě je lepší použít raději sed:

sed 's/.*\///' < some-input

Externí odkazy[editovat | editovat zdroj]

basenameThe Single UNIX® Specification (anglicky)

basename — česká verze manuálové stránky