Dirname
![]() | |
Typ softwaru | standardní UNIXová utilita či příkaz |
---|---|
Některá data mohou pocházet z datové položky. |
dirname
je standardní unixový příkaz. Když dirname je dána cesta, odstraní všechny suffixy začínající posledním lomítkem ('/'
) a vrátí výsledek. dirname je popsáno v Single UNIX Specification a je primárně používán v shellových skriptech.
Použití
The Single UNIX Specification pro dirname je:
dirname řetězec
- řetězec
- cesta
Příklady
dirname bude načítat názvy cest ke složkám a bude ignorovat jakékoliv koncové lomítka
$ dirname /home/martin/docs/base.wiki /home/martin/docs $ dirname /home/martin/docs/ /home/martin $ dirname base.wiki . $ dirname / /
Výkon
Protože dirname
přijímá pouze jeden operand, jeho použití ve vnitřní smyčce shell skriptu mohou být zhoršovat pro výkon. Zvažte
while read file; do dirname "$file" done < some-input
Výše uvedený část kódu by mohl způsobit samostatné vyvolání procesu pro každý řádek vstupu. Z tohoto důvodu se obvykle namísto toho používá shell substituce
echo "${file%/*}";
nebo pokud musí být také řešeny relativní cesty
if [ -n "${file##*/*}" ]; then echo "." else echo "${file%/*}"; fi
Všimněte si, že tento kód manipuluje s koncovými lomítky jinak, než dirname.
Související články
- Seznam Unixových utilit
- Path
- basename
Reference
V tomto článku byl použit překlad textu z článku dirname na anglické Wikipedii.
Externí odkazy
- dirname
- dirname(1)
- dirname(1)
Příkazy a programy příkazové řádky Unixu (více) | |
---|---|
Správa souborů | |
Správa procesů | |
Správa uživatelů a prostředí | |
Zpracování textu | |
Programování v shellu | |
Síťová komunikace | |
Hledání | |
Ostatní | banner • bc • cal • date • dd • look • lp • man • size • yes |