Ich muss das Teil entfernen
man1/bmtoa.1.gz
aus dem vollständigen Pfad
/usr/share/man/man1/bmtoa.1.gz
so dass es dazu führt,
/usr/share/man/
Ich habe ${path#[!/]*/*} und ${path#/*/*} ausprobiert, aber beide führen zu falschen Pfaden.
Antwort1
das wird funktionieren ${path%/*/*}
, aber von hinten nach vorne.Hierist eine gute Anleitung zum Zerteilen von Zeichenfolgen in Bash.
Antwort2
Wenn Sie damit klarkommen /usr/share/man/man1
, können Sie es tun dirname /usr/share/man/man1/bmtoa.1.gz
, aber da Sie angegeben haben, dass auch man1 aussteigen muss, müssen Sie sie in Reihe schalten:
dirname `dirname /usr/share/man1/bmtoa.1.gz`