Aí, Vilmar.
Se você usar o parâmetro -P ao invés de -E, o grep trabalhará com Expressões Regulares Compatíveis com Perl (PCRE), que são "ainda mais estendidas" que as Expressões Regulares Estendidas (ERE) :-)
Um dos conceitos mais interessantes nas PCRE, na minha opinião, é o de lookaround (lookbehind e lookahead): a possibilidade de levar em conta um padrão antes/depois do que se está procurando, mas ignorando esse padrão na hora do match efetivo.
No exemplo que você passou, a ideia seria aplicada assim, por exemplo:
$ grep -oP '>\K.*\.chi\.zst(?=<)' HTML
avahi-0.8+15+ge8a3dd0-3-x86_64.chi.zst
avfs-1.1.3-1-x86_64.chi.zst
...\K indica que o grep deve procurar pela ER à sua direita levando em consideração a ER que estiver à sua esquerda
(?=...) indica o simétrico: procurar pela ER à esquerda levando em consideração a ER que estiver à direita
Se a eficiência for importante, evite o uso do parâmetro -P em favor do -E, -G (def) ou -F, em ordem crescente de preferência. Quando possível, claro.
Att,