Dirname

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Dirname je příkaz v operačním systému UNIX, který vrací název adresáře pro zadanou cestu k souboru. Tento příkaz je součástí různých verzí UNIXu a také operačního systému POSIX. Používá se především v skriptech nebo při vytváření složek nebo souborů. Příkaz dirname bere vstupní argument ve formě cesty k souboru a vrací cestu k adresáři, ve kterém se soubor nachází. Může také odebrat poslední složku z dané cesty a vrátit novou cestu k nadřazenému adresáři. Dirname příkaz může být také použit s přepínačem "-z" pro vypsání cesty adresáře bez znaků konce řádku. Tento příkaz je užitečný pro práci s cestami v Unixovém systému a může být použit v různých situacích, například při tvorbě složek, kopírování souborů nebo zpracovávání skriptů.

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 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

Externí odkazy

[url=http://www. opengroup. +moreorg/onlinepubs/9699919799/utilities/dirname. html]dirname[/url] * [url=https://linux. die. net/man/1/dirname]dirname(1)[/url] * [url=http://man. openbsd. org/. query=dirname&sec=1]dirname(1)[/url].

Kategorie:Svobodný software Kategorie:Standardní unixové příkazy

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top