Мне нужно удалить часть
man1/bmtoa.1.gz
от полного пути
/usr/share/man/man1/bmtoa.1.gz
так что это приводит к
/usr/share/человек/
Я пробовал ${path#[!/]*/*} и ${path#/*/*}, но оба результата дают неверные пути.
решение1
это сработает ${path%/*/*}
, но работает сзади вперед.здесьхорошее руководство по обрезке строк в bash.
решение2
Если бы вы могли справиться с /usr/share/man/man1
, то вы могли бы сделать dirname /usr/share/man/man1/bmtoa.1.gz
, но поскольку вы заявили, что вам нужно, чтобы man1 также отключился, вам придется соединить их последовательно:
dirname `dirname /usr/share/man1/bmtoa.1.gz`