Não encontra suporte OR em suas expressões regulares?

2

Por exemplo, quero encontrar todos os arquivos em um diretório que terminem em 'm' ou 'sh'. O seguinte funciona corretamente:

find . -regex '.*.m' -o -regex '.*.sh'

Mas isso falha:

find . -regex '.*.(m|sh)'

O que estou fazendo de errado?

    
por Rogach 19.02.2012 / 10:09

1 resposta

4

Apenas fugindo do inferno:

find . -regex '.*.\(m\|sh\)

parece funcionar. Eu não acho que haja muito consenso se os caracteres especiais regexp precisam ser escapados ou precisam ser removidos entre diferentes ferramentas.

    
por 19.02.2012 / 10:18