我需要删除部分
MAN1 / bmtoa.1.gz
从完整的path
/usr/share/man/man1/bmtoa.1.gz
所以它的结果
在/ usr / share / man中/
我试过$ {path#[!/] * / *}和$ {path#/ * / *},但都导致错误的path。
这将工作${path%/*/*} ,但从后面到前面。 这里是一个很好的如何在bash中切断string。
如果你可以处理/usr/share/man/man1 ,那么你可以使用dirname /usr/share/man/man1/bmtoa.1.gz ,但是既然你表示你需要man1也要脱手,那么你将不得不雏菊链他们:
dirname `dirname /usr/share/man1/bmtoa.1.gz`