2015-09-20 2 views
1

Я провел много времени, оглядываясь по сторонам и не могу найти решение моего конкретного вопроса. Я бы очень признателен за любую помощь.как получить имя пути и удалить последние два имени папки

У меня есть путь к папке, из которого я хотел бы удалить последние две имена папок. Я попытался найти что-то похожее на dirname, так как dirname удаляет только последнее имя папки.

В качестве примера у меня есть путь /This/Is/The/Path/, и я хотел бы создать сценарий для удаления последних двух папок и возврата /This/Is/.

ответ

1

Используйте параметр расширения:

dir=/This/Is/The/Path/ 
dir=${dir%/*/*/}/ # Remove pattern on the right. 
echo "$dir" 
1

Вы можете сделать это?

$ a="/This/Is/The/Path" 
$ echo ${a%/*/*} 

выход:

/This/Is