9 марта 2016 г.

Выделить имя файла из полного пути

Не надо забывать, что полный путь к файлу состоит из перечисления имен каталогов, внутри которых находится файл. Эти каталоги в пути разделяются знаком слэша - "/". Это значит, что мы можем получить массив из полного пути к файлу, используя как разделитель элементов этот самый слэш. Итак, по порядку:


  • У нас есть полное имя файла:

    file_name="/usr/share/icons/Numix/22@2x/actions/brown-add-folders-to-archive.svg"
  • Устанавливаем разделитель - чтобы мы могли получить массив строк из полного имени файла:

    IFS=/
    Это специальный зарезервированный символ, который используется для разделения строк. По умолчанию он равен пробелу
  • Создаем массив из полного имени файла, состоящий из имен каталогов и имени файла в самом последнем элементе:

    arr=( $file_name )
  • Выбираем самый последний элемент получившегося массива - это и будет имя файла:

    file=${arr[@]:(-1):1}
Вот экранка, показывающая выполнение всех шагов:

DELUGE: ошибка no module named gi.pygtkcompat

проблема старая. Проявляется в OpenSuse. Возможно есть в других, но не проверял Причина: из PyGObject удален модуль pygtkcompat. Но как обыч...