Извлеките последний каталог вывода pwd
Вопрос
Как мне извлечь последний каталог вывода pwd?Я не хочу использовать какие-либо знания о том, сколько уровней существует в структуре каталогов.Если бы я хотел использовать это, я мог бы сделать что-то вроде:
> pwd
/home/kiki/dev/my_project
> pwd | cut -d'/' -f5
my_project
Но я хочу использовать команду, которая работает независимо от того, где я нахожусь в структуре каталогов.Я предполагаю, что есть простая команда для этого, используя awk или sed.
Решение
Вы ищете базовое имя или грязное имя?
Что - то вроде
basename "`pwd`"
должно быть то, что вы хотите знать.
Если вы настаиваете на использовании sed
, вы также могли бы использовать
pwd | sed 's#.*/##'
Другие советы
Если вы хотите сделать это полностью в скрипте bash без запуска каких-либо внешних двоичных файлов, ${PWD##*/}
должно сработать.
Должно сработать на вас:pwd | rev | cut -f1 -d'/' - | rev
Использование awk:
pwd | awk -F/ '{print $NF}'