If I have the path one/two/three/four/here.md the name I should get is three.
If I have path a/b/filename.md the name should I get is a.
The path looks like ./topic/sub/guides.
CodePudding user response:
That's two dirs up and the base of a name.
var=a/b/filename.md
basename "$(dirname "$(dirname "$var")")"
CodePudding user response:
One option could be to use realpath and then basename:
the_dir='./topic/sub/guides'
basename -- "$(realpath -m -- "$the_dir/../..")"
