*
em um regex não é como um nome de arquivo glob. Significa 0 ou mais do caractere / padrão anterior. Assim, seus exemplos estariam procurando por A
, em seguida, 0 ou mais B
, em seguida, -DEF
.
in regex significa "qualquer caractere" para que você possa corrigir seu padrão usando
grep 'AB.*DEF'