Регулярное выражение для лучшего ответа (Meer Borg's) ломается для одного каталога букв:
echo "/home/user/x/next_dir/other_dir" | sed -r 's|/(..)[^/]*|/\1|g'
/ho/us/x//ot
Правильная функция будет:
PS1='$(eval "sps")$ '
sps() {
echo "$PWD" | sed -r 's|/([^/]{,2})[^/]*|/\1|g'
}
Извините, нет репутация для комментариев по оригинальному ответу, lol