¿Cómo puedo grep para la línea que contiene el carácter de tubería |
o para el carácter >
:
files content:
|this is test
where is >
this is none
ahora lo que necesito usando el comando grep es
grep -iE "<some expression>" file_name
Salida:
|this is test
where is >
\|
no es unBRE
operador estándar , aunque funciona con GNU,grep
que segrep
encuentra en la mayoría de los sistemas operativos creados en torno a un núcleo Linux.+
,?
) es azúcar sintáctica para\{1,\}
y\{0,1\}
. (por otro lado, las ERE sueltan referencias (\(.\)\1
) que son una característica única de BRE)Usando la expresión de paréntesis para hacer coincidir cualquiera de los caracteres deseados:
grep "[|>]" infile
Salida:
fuente
-i
ni de-E
aquí.La forma correcta de lograrlo es utilizando el indicador -e que especifica POSIX. P.ej:
fuente
grep -e '>' -e '|' infile
también funciona-e
está especificado por POSIX pero no es útil aquí.\|
no está especificado por POSIX.