Мне нужно удалить часть
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.