Dirname

Dirname
Typ softwarustandardní 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

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ů
cat • chattr • cd • chmod • chown • chgrp • cksum • cmp • cp • du • df • file • fsck • fuser • ln • ls • lsattr • lsof • mkdirmount • mv • pwd • rm • rmdir • split • touch
Správa procesů
at • chrootcrontab • exit • kill • killall • nice • pgreppidofpkill • ps • pstreesleep • time • top • wait • watch
Správa uživatelů a prostředí
env • finger • id • lognamemesgpasswd • su • sudounameuptime • w • wall • who • whoamiwrite
Zpracování textu
awkcommcsplitcutdiff • ed • ex • fmt • headiconvjoin • less • more • patchpaste • read • sedsorttactail • tee • tr • uniq • wc • xargs
Programování v shellu
alias • basename • echo • expr • false • printf • test • true • unset
Síťová komunikace
dig • inetd • host • ifconfignetstatnslookuppingrloginnctraceroute
Hledání
findgrepstrings
Ostatní
banner • bc • cal • date • dd • look • lp • man • size • yes