I seem to have failed at something pretty simple, in bash. I have a string variable that holds the full path to a directory. I\'d like to assign the last two di
function getDir() { echo $1 | awk -F/ ' { n=NF-'$2'+1; if(n<1)exit; for (i=n;i<=NF;i++) { printf("/%s",$i); } }' } dir="/a/b/c/d/e" dir2=`getDir $dir 1` echo $dir2
You can get any number of directories from the last from this function. For your case run it as,
dir2=`getDir $dir 2`;
Output : /d/e