Grep e regex, Por que o seguinte retorna apenas uma parte específica?

1

Por que a seguir:

echo this is a line. | grep -o -E "[a-z]+\."

O resultado é line. e não this is a line. ?

Não há limite de palavra ou qualquer outra restrição na regex.

    
por Jim 07.07.2013 / 23:10

2 respostas

5

[a-z] corresponde apenas aos caracteres a a z . eles não correspondem ao caractere de espaço. quando você quiser igualar também o caractere de espaço, você deve explicitamente dizer: [a-z ] .

    
por 07.07.2013 / 23:33
0

A opção -o instrui o grep a limitar a saída apenas àquela parte da linha que corresponde ao padrão.

Execute novamente o comando sem -o e o resultado será realmente

this is a line.

    
por 08.07.2013 / 22:03