¿Cómo utilizar egrep con comillas dobles en la cadena de búsqueda?
Tengo un archivo sample.txt
con el siguiente contenido:
$ cat sample.txt
bc
it is | ERROR
first
second
third
No space left
1
2
3
4
Quiero buscar tanto | ERROR
como No space left
. Cuando intento utilizar el siguiente comando, no obtengo el resultado esperado:
$ egrep -w ' "| ERROR"|No space left' sample.txt
No space left
Por favor, ayuda.
davy.ai
Para buscar tanto
| ERROR
comoNo space left
ensample.txt
utilizando el comandoegrep
de forma correcta, podemos encerrar el patrón de búsqueda entre paréntesis y separarlos usando una barra vertical (|
) como operador OR. El comando se vería así:Aquí, se utiliza la opción
-w
para que coincida solo con palabras completas, no con subcadenas. El patrón de búsqueda está encerrado entre comillas simples para evitar la expansión del shell de caracteres especiales. La barra vertical (|
) se escapa con una barra invertida (\
) para asegurarse de que se trate como un carácter literal. Los paréntesis se utilizan para agrupar el patrón de búsqueda y aplicarles el operador OR.El resultado esperado se obtiene ahora, que incluye ambas líneas que contienen el patrón de búsqueda deseado.