Bash, препарируем путь до файла

В linux имеются богатые возможности обработки путей файлов. Иногда, в своих скриптах, хочется получать отдельные элементы этого пути.

Вот у нас есть файл

[user@ora6 ~]$ ls -l  /tmp/project/Геофизическая\ изученность/Таблица\ изученности\ геофизическая.doc

получить путь до файла

[user@ora6 ~]$ dirname '/tmp/project/Геофизическая изученность/Таблица изученности геофизическая.doc'
/tmp/project/Геофизическая изученность

получить имя файла

[user@ora6 ~]$ basename '/tmp/project/Геофизическая изученность/Таблица изученности геофизическая.doc'
Таблица изученности геофизическая.doc

А если вам необходимо получить, к примеру, третью папку пути, то на помощь изящно приходит awk

[user@ora6 ~]$ echo /tmp/project/Геофизическая изученность/Таблица изученности геофизическая.doc | awk -F '/' '{print $4}'
Геофизическая изученность

На этом урок для начинающих закончен 🙂