Вам нужно избежать .
, который является считается подстановочным знаком в регулярном выражении:
~$ [[ z_.en.html =~ \.en\.html$ ]] && echo match || echo no_match
match
~$ [[ a.len.html =~ \.en\.html$ ]] && echo match || echo no_match
no_match
Кроме того, https://regex101.com/ очень полезен для отладки проблем с регулярным выражением.