Você precisa da opção extendedglob para (#b) .
Também 05 + 1 rende 6 , não 06 .
Você pode fazer (com extendedglob e histsubstpattern )
^(#b)E(<->)^E${(l:2::0:)$((match[1]+1))}
Ou:
echo ${_//(#b)E(<->)/${(l:2::0:)$((match[1]+1))}
-
<->é uma forma de<x-y>operador de correspondência de número decimal positivo em que ambos os limites são omitidos, portanto, corresponde a qualquer sequência não vazia de dígitos decimais. O mesmo que[0-9]##(embora##precise de globagem estendida, enquanto<x-y>não). -
(l:2::0:)(observe que é um L minúsculo, não o1dígito) é o sinalizador de expansão do parâmetro de preenchimento à esquerda, aqui com0s, de comprimento2.