O padrão GNU grep
reconhece BRE (expressões regulares básicas) e *
é um metacaractere original no BRE, enquanto +
é uma extensão do BRE. Para que +
seja reconhecido como metacaractere no BRE, ele deve ser evitado. No entanto, se você disser grep
para usar ERE (expressões regulares estendidas) usando o sinalizador -E
, não será necessário escapar de nenhum metacaractere (se você escapar deles, eles se tornarão literais). Há um pouco de explicação no manual do grep e
$ grep -E 'hi +hello' test
hi hello
hi hello
Você também pode usar egrep
$ egrep 'hi +hello' test
hi hello
hi hello
Eu decido usar o BRE ou o ERE com base no número total de barras invertidas que terei que digitar ...