[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 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.
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.
Tags grep regular-expression