Как извлечь название файла из пути к нему в Linux

Как извлечь название файла из пути к нему в Linux

Рубрики:

Linux, Утилиты Linux

Метки:

Bash, linux

В операционной системе Linux все объекты организованы в иерархической структуре, известной, как файловая система. Каждый файл и каталог в ней имеет свой уникальный путь, определяющий его местоположение в ОС. Иногда для удобства обработки файла, который расположен в глубине структуры каталогов, следует извлечь из пути к нему только его название.

В этой статье мы покажем Вам два способа извлечь название файла из пути в операционной системе Linux.

Содержание:

  1. Использование команды basename
  2. Извлечение названия файла из пути без basename
  3. Выводы

Использование команды basename

В операционной системе Linux есть встроенная утилита basename, которая используется для извлечения названия файла из пути к нему.

Просто передайте путь к файлу в качестве аргумента команде basename, и она выведет на экран только его название:

 

basename command line

Важно: в качестве аргумента basename можно передать не только путь к локальному файлу, но и к файлу, расположенному в Интернете.

Читайте также: 10 полезных советов для написания эффективных bash скриптов в Linux.

Вдобавок, возможно написать скрипт с командой basename для извлечения названия файла из его пути:

 

basename script url

Где:

  • filename — переменная, в которой хранится путь к файлу;
  • s — переменная, в которой хранится результат работы команды basename $filename (то есть, название файла с расширением);
  • echo ${s%.*} — команда, которая удаляет расширение из названия файла, хранящегося в переменной s.

Извлечение названия файла из пути без basename

Также можно решить данную задачу и без использования команды basename. Для этого воспользуйтесь следующим скриптом для извлечения названия файла:

 

Где:

  1. s=${filename##*/} — команда, которая извлекает название файла из пути, хранящегося в переменной filename:
    • ##*/ — шаблон, удаляющий все знаки из пути до последнего символа / (включительно);
  2. echo ${s%.*} — команда, которая удаляет расширение из названия файла, хранящегося в переменной s.

no basename script

Читайте также: Синхронизация каталогов с помощью Zaloha.sh в Linux.

Выводы

Теперь Вы знаете, как извлечь название файла из пути к нему с помощью утилиты командной строки basename и скриптов Bash в ОС Linux. Надеемся, что эта статья была полезной для Вас!

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

Bash, linux

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики