Respostas:
Com grep
sintaxe padrão :
grep '[>|]'
ou
grep -e '>' -e '|'
ou
grep '>
|'
ou
grep -E '>|\|'
Se você estiver usando o GNU grep, poderá fazer isso com o operador ou ( |
), que deve ser escapado (precedido por uma barra invertida \
). Portanto, para encontrar linhas que contêm pipe ou um sinal maior que, inclua-as literalmente no operador ou :
grep '|\|>' infile
Resultado:
|this is test
where is >
+
, ?
) sendo açúcar sintático para \{1,\}
e \{0,1\}
. (por outro lado, EREs perder referências anteriores ( \(.\)\1
), que são uma característica BRE apenas)
Usando expressão de colchete para corresponder a um dos caracteres desejados:
grep "[|>]" infile
Resultado:
|this is test
where is >
-i
ou -E
aqui.
A maneira correta de fazer isso é usar o sinalizador -e especificado pelo POSIX. Por exemplo:
grep -e '>\||' infile
grep -e '>' -e '|' infile
funciona também
-e
é especificado pelo POSIX, mas não é útil aqui. \|
não é especificado pelo POSIX.
\|
não é um padrãoBRE
operador, embora ele funciona com o GNUgrep
que é ogrep
encontrado na maioria dos sistemas operacionais construídos em torno de um kernel Linux.