grep comando para exibir a mesma palavra com grafias diferentes

1

Eu criei uma tabela de funcionários.

    1 Andy Account
    2 Grecie HR
    3 Jyorge Marketing
    4 Seeya HR
    5 Princy Account
    6 Siya Production

Aqui, os nomes do 4º funcionário e do 6º funcionário são iguais, mas as ortografias são diferentes. Então eu quero mostrar apenas os registros usando o comando grep. Eu tentei como:

grep S[iee]ya emp

e

grep S[[i][ee]]ya emp

mas não funcionou. Alguma solução?

    
por Dip 18.07.2017 / 13:46

3 respostas

9

Você precisa do operador OR '|' no grep:

grep -E 'S(i|ee)ya' emp
4 Seeya HR
6 Siya Production
    
por 18.07.2017 / 13:52
9

[...] cria uma classe de caracteres, não um grupo, você deseja usar um grupo que contenha um | ou operador

grep 'S\(ee\|i\)ya' emp

fará esse grupo e encontrará essas duas linhas. Você também pode limpar um pouco dizendo ao grep para usar o regex estendido com -E , então você não precisa escapar dos caracteres para torná-los especiais

grep -E 'S(ee|i)ya' emp
    
por 18.07.2017 / 13:54
-2
grep 'S.*ya' 

parece funcionar também. O quantificador * corresponde entre zero e tempos ilimitados.

    
por 18.07.2017 / 19:41

Tags