>_ IzzyLab

Практическое задание

Имя файла без расширения

средне

Напиши скрипт /root/strip.sh, который из переданного пути печатает имя файла без каталога и без последнего расширения. Например /tmp/data.csvdata, /a/b/report.final.txtreport.final.

Что потренируешь:
  • bash
  • подстановка параметров
  • ${##}
  • ${%}
  • обработка путей

Разбор темы

Bash умеет резать строки прямо в подстановке параметра, без вызова внешних basename/dirname. Операторы #/## срезают совпадение с начала строки, %/%% — с конца; одиночный символ убирает самое короткое совпадение, двойной — самое длинное (это важно для имён с несколькими точками). Задача — последовательно применить два таких среза к аргументу: сначала отбросить путь до имени файла, затем — последнее расширение.

Что проверяется

  1. срезаны каталог и последнее расширение

Как это выглядит