1
resposta

Comando GREP

TIme da Alura, bom dia. Na paz? Espero que sim!

No WSL com a imagem do Ubuntu 20.0.4 o comando grep sem a flag -E não retorna a verificação para a expressão regular informada na aula. Tive que utilizar a tag para fazer da seguinte foma, "Verificação de CPF"

cat arquivo.txt | grep -E "((([0-9]){1,3})\.){2}([0-9]){3}\-([0-9]){2}"

Poderiam analisar e realizar esse teste?

1 resposta

Oi, Wilson, tudo bem?

Isso acontece porque o comando grep, por padrão, usa expressões regulares básicas (BREs). No entanto, a expressão que você está usando é uma expressão regular estendida (ERE). Para usar EREs com grep, você precisa da flag -E.

Uma expressão regular básica usa a barra invertida ( \ ) para dar significados especiais aos caracteres. Já a expressão regular estendida faz justamente o contrário: ela tira o significado.

A flag -E (ou --extended-regexp) é utilizada para ativar o suporte a expressões regulares estendidas. Com essa flag, é possível utilizar uma sintaxe mais rica e aproveitar todos os recursos disponíveis nas expressões regulares estendidas.

Obrigada pelo feedback. O curso está um pouco desatualizado e ainda está para ser refeito aqui na plataforma. Caso você note outra coisa importante para comentar, fique à vontade.

Abraços!