dirname - dirname

редактировать
dirname
Пример команды dirname Пример dirnameкоманда
Разработчик (и) Различные разработчики с открытым исходным кодом и коммерческие разработчики
Операционная система Unix, Unix-подобная, IBM i
Тип Команда
Лицензия coreutils : GPLv3+

dirname- стандартный компьютер программа в Unix и Unix-подобных операционных системах. Когда dirnameдается путь, он удалит любой суффикс, начинающийся с последнего символа косой черты ('/'), и вернет результат. dirnameописано в Single UNIX Specification и в основном используется в сценариях оболочки.

Содержание
  • 1 История
  • 2 Использование
  • 3 Примеры
  • 4 Производительность
  • 5 Заблуждения
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
История

Версия dirname, встроенная в GNU coreutils был написан Дэвидом Маккензи и Джимом Мейерингом.

Команда dirname также была перенесена в операционную систему IBM i.

Использование

Единая спецификация UNIX для dirname:

dirname string
string
A pathname
Примеры

dirname будет извлекать имя пути к каталогу из имени пути, игнорируя любые завершающие косые черты

$ dirname /home/martin/docs/base.wiki / home / martin / docs $ dirname / home / martin / docs /. / home / martin / docs $ dirname / home / martin / docs / / home / martin $ dirname base.wiki. $ dirname / /
Производительность

Поскольку dirnameпринимает только один операнд, его использование во внутреннем цикле сценариев оболочки может отрицательно сказаться на производительности. Учитывайте

при чтении файла; do dirname "$ file" done < some-input

Приведенный выше отрывок вызовет отдельный вызов процесса для каждой строки ввода. По этой причине вместо него обычно используется замена оболочки

echo "$ {file% / *}";

или если также требуется обработка относительных путей

if [-n "$ {file ## * / *}"]; затем эхо "." иначе echo "$ {file% / *}"; fi

Обратите внимание, что они обрабатывают завершающие слеши иначе, чем dirname.

Заблуждения

Можно подумать, что пути, заканчивающиеся косой чертой в конце, являются каталогами. Но на самом деле косая черта в конце представляет все файлы в каталоге.

/ home / martin / docs /.

Правильный способ представления пути в виде каталога - это использовать косую черту в конце и точку.

См. Также
Ссылки
Внешние ссылки
В Викибуке Руководство по Unix есть страница по теме: Команды
Последняя правка сделана 2021-05-17 08:27:11
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте