Назад | Перейти на главную страницу

Удалите части пути с помощью расширения параметров… но как?

Мне нужно удалить часть

man1 / bmtoa.1.gz

с полного пути

/usr/share/man/man1/bmtoa.1.gz

так что это приводит к

/ usr / share / man /

Я пробовал $ {path # [! /] * / *} И $ {path # / * / *}, но оба приводят к неправильным путям.

Если бы вы могли справиться с /usr/share/man/man1, тогда ты мог бы сделать dirname /usr/share/man/man1/bmtoa.1.gz, но поскольку вы заявили, что вам нужно, чтобы man1 также отключился, вам придется их последовательно соединить:

dirname `dirname /usr/share/man1/bmtoa.1.gz`

это будет работать ${path%/*/*}, но работает от задней части к передней. Вот - это хорошее руководство по обрезке строк в bash.