Respostas:
Com grepsintaxe 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 >
-iou -Eaqui.
A maneira correta de fazer isso é usar o sinalizador -e especificado pelo POSIX. Por exemplo:
grep -e '>\||' infile
grep -e '>' -e '|' infilefunciona também
-eé especificado pelo POSIX, mas não é útil aqui. \|não é especificado pelo POSIX.
\|não é um padrãoBREoperador, embora ele funciona com o GNUgrepque é ogrepencontrado na maioria dos sistemas operacionais construídos em torno de um kernel Linux.