obtenha o diretório do arquivo de uma forma muito geral (quando o arquivo é conhecido com um nome de caminho relativo ou absoluto ou nenhum caminho):
the_dir="$(cd -P "$(dirname "${filename}")";pwd)"
Então, para obter o pai desse diretório:
the_parent_dir="$(cd -P "$(dirname "${filename}")/..";pwd)"
cd -P: imprime o caminho "real" (físico), em vez de um caminho usando links simbólicos. Se você retirar o -P , ele também funcionará, mas você poderá obter um resultado diferente (por exemplo: cd / ; ln -s /long/path/here shortcut ; cd shortcut ; pwd mostrará o caminho: /shortcut , ao passo que se você adicionou -P a cd , /long/path/here em vez disso)