Извлечь последний каталог вывода pwd - PullRequest
32 голосов
/ 16 ноября 2009

Как мне извлечь последний каталог вывода pwd? Я не хочу использовать какие-либо знания о том, сколько уровней в структуре каталогов. Если бы я хотел использовать это, я мог бы сделать что-то вроде:

> pwd
/home/kiki/dev/my_project
> pwd | cut -d'/' -f5
my_project

Но я хочу использовать команду, которая работает независимо от того, где я нахожусь в структуре каталогов. Я предполагаю, что есть простая команда, чтобы сделать это, используя awk или sed.

Ответы [ 4 ]

44 голосов
/ 16 ноября 2009

Вы ищете базовое имя или dirname ?

Что-то вроде

basename "`pwd`"

должно быть тем, что вы хотите знать.

Если вы настаиваете на использовании sed, вы также можете использовать

pwd | sed 's#.*/##'
12 голосов
/ 16 ноября 2009

Если вы хотите сделать это полностью в bash-скрипте без запуска каких-либо внешних двоичных файлов, ${PWD##*/} должно работать.

2 голосов
/ 18 марта 2017

Должно работать на вас: pwd | rev | cut -f1 -d'/' - | rev

Ссылка: https://stackoverflow.com/a/31728689/663058

0 голосов
/ 19 ноября 2009

Использование awk:

pwd | awk -F/ '{print $NF}'
...