Introducción
grep significa "impresión de expresión regular global" y es un comando útil en Linux.
El comando grep se usa para filtrar los archivos de entrada que coinciden con una expresión regular y luego se imprimen en la salida estándar. Y también es muy importante excluir palabras y patrones o diccionarios y archivos.
A continuación se muestra la guía sobre cómo excluir en grep a medida que avanzamos a continuación.
Excluir palabras y patrones
Para mostrar líneas que no coinciden con el patrón de búsqueda, usemos -v opción.
Ahora tengo un archivo llamado fn.txt.que contiene los siguientes contenidos:
Por ejemplo, quiero excluir la línea que contiene la palabra función:
$ grep -v function fn.txt
Salida:
Como puede ver, la línea que contiene la palabra función se filtra.
si la cadena que desea buscar contiene un espacio, debe usar paréntesis o comillas.
Por ejemplo, quiero excluir la línea que contiene la cadena ab cd:
$ grep -v 'ab cd' fn.txt
Salida:
si desea especificar varias cadenas a la vez, usemos -e opción.
Por ejemplo, quiero excluir el límite y la cadena abcd:
$ grep -v -e limit -e abcd fn.txt
Salida:
Si solo desea excluir palabras que se muestran al principio de una línea. Por ejemplo, quiero excluir la palabra función que aparece al principio de una línea
$ grep -v '^function' fn.txt
Salida:
Debido a que la palabra función aparece al final de la línea, no se excluirá.
Excluir directorios y archivos
Para excluir un directorio que especificó, use el –exclude-dir con -R o -r opción. -R seguirá todos los enlaces simbólicos. Esta es también la mayor diferencia entre -r y -R opciones.
Por ejemplo, quiero excluir los archivos que contienen la cadena cat dentro de /home/ubuntu directorio:
$ grep -R --exclude-dir=ubuntu cat /home
Salida:
La parte roja se filtra.
Para excluir varios directorios a la vez, coloque los directorios entre llaves y sepárelos con comas sin espacios.
Por ejemplo, quiero excluir archivos que contengan la cadena Linux dentro de ubuntu y comida directorio:
$ grep -r --exclude-dir={ubtuntu,food} linux /
Salida:
La parte roja se filtra.
Conclusión
Ya revisó los detalles de cómo excluir en grep.
Gracias por leer.