Tente:
ls -l ^*.owp
(ou seja, corresponde a qualquer coisa, exceto o padrão *.owp )
ou:
ls -l *~*.owp
(ou seja, corresponde a qualquer coisa que corresponda ao padrão * , mas não corresponde a *.owp )
Veja man zshexpn = > FILENAME GENERATION = > Glob Operators para mais sobre isso.
Anexado () nos padrões glob são para qualificadores glob, enquanto você deseja um operador glob.
O que o *.(^owp) faz é:
- Corresponder todos os nomes de arquivos terminados com um ponto
- se não forem pipes
(^p)e - classifique as correspondências
(o)por "w" = > "especificador de classificação desconhecido"
Veja man zshexpn = > FILENAME GENERATION = > Glob Qualifiers para mais sobre isso.