egrep vários padrões com traços

2

Eu estou tentando combinar o seguinte com egrep '201411 [08 | 09 | 10 | 11] - [117 | 111] -'

20141108-111-xyz-abc
20141110-117-342-lala

Mas, por alguns motivos, o padrão da segunda classe de caracteres ([117 | 111]) não funciona. Corresponde a todos, independentemente disso.

Alguma ideia do que está errado no meu segundo padrão de classe de personagem?

    
por Hei 12.11.2014 / 05:59

1 resposta

3

Você mistura classes de personagens com subpadrões. Você precisa do último aqui:

grep -E '201411(08|09|10|11)-(117|111)-' file

"Classe de caractere" significa: todos os caracteres da classe (como [[:alpha:]] ) ou seleção ( [01][8901] ) podem aparecer.

"Subpadrão" (com | ) significa: "Um dos padrões separados por | pode aparecer."

    
por 12.11.2014 / 06:17

Tags