Se você quiser apenas o diretório em ~/repositories
, poderá fazer algo como
$ sed -r "s#($HOME/repositories/[^/]*).*##" <<<$PWD
/home/terdon/repositories/my_program
E para imprimir apenas my_program
:
$ sed -r "s#$HOME/repositories/([^/]*).*##" <<<$PWD
my_program
Para usar ~/
, tente
$ sed -r "s#$HOME(/repositories/[^/]*).*#~#" <<<$PWD
~/repositories/my_program
A ideia é corresponder $HOME/repositories/
, depois mais um diretório (definido como a string mais longa de caracteres que não são /
: [^/]*
).