Eu gosto de ser pragmático, e como escrever uma conclusão zsh está fora das minhas habilidades atuais, eu acabei de escrever uma função de propósito especial usando o sistema de menu select
de zsh (e bash).
cdd(){
typeset dir
typeset -a dirs
if [[ $PWD =~ ^(.*)(/back-[0-9-]+T[0-9_]+/)(.*)$ ]]
then for dir in "$match[1]"/*/"$match[3]"
do [ "$dir" != "$PWD" -a -d "$dir" ] && dirs+=("$dir")
done
select dir in "$dirs[@]"
do echo "$dir"
cd "$dir"
break
done
else echo "no date in $PWD"
fi
}
Isso divide o diretório atual em três partes em torno do diretório com um padrão de data e, em seguida, o substitui por um glob *
. A lista resultante é apresentada por zsh com um menu de estilo 1) ... 2) ...
, onde você acabou de digitar 1 ou 2 para acessar esse diretório.