OSX/IOS

Cómo excluir una palabra con grep

Terminal en macOS

La herramienta de línea de comando grep es extremadamente útil para buscar en datos de texto líneas y fragmentos que coincidan con una cadena, carácter, palabra o expresión regular definida. Si bien la mayoría de los usos de grep son para ordenar datos para coincidencias de sintaxis, ¿qué sucede si desea excluir una palabra o cadena con grep ¿en lugar de? Excluir coincidencias de línea con grep es tan útil como buscar e imprimir coincidencias en grep, así que le mostraremos cómo excluir coincidencias de cadena y excluir palabras con grep.


Obviamente, querrá tener experiencia en línea de comandos y exposición a grep para encontrar esto útil. Si desea continuar, puede abrir la aplicación Terminal y probarlo usted mismo. Debido a que grep es una utilidad de sistema operativo agnóstica, puede usar el truco de exclusión en Mac OS, Linux, Unix o cualquier otra cosa que tenga que use grep.

Cómo excluir una sola palabra con grep

La forma más fácil de excluir líneas con una cadena o coincidencia de sintaxis es usando grep y la bandera -v.

Por ejemplo, supongamos que usamos cat para imprimir un archivo en la línea de comando, pero queremos excluir todas las líneas que incluyen el término «ThisWord», entonces la sintaxis se vería así:

cat example.txt | grep -v "ThisWord"

La salida será el archivo de texto example.txt, pero excluyendo cualquier línea que contenga una cadena coincidente con «ThisWord».

También puede usar grep directamente en archivos y excluir coincidencias de línea en función de palabras o sintaxis, de la siguiente manera:

grep -v "ThisWord" example.txt

Utilice lo que funcione mejor para su flujo de trabajo.

Cómo excluir varias cadenas o palabras con grep

Ahora que sabe cómo excluir coincidencias para una sola palabra, la siguiente pregunta obvia es sobre la exclusión de varias palabras con grep. Es tan simple y hay algunas formas diferentes de hacer esto usando el indicador -v así como el indicador -e.

Primero, tomemos el ejemplo anterior para usar ambos en un archivo canalizado para grep y excluir cualquier línea que coincida con dos palabras; «Word1» y «Word2» se verían así:

cat example.txt | grep -v -e "Word1" -e "Word2"

Cualquier línea que contenga «Word1» o «Word2» se excluirá de los resultados impresos.

También puede usar grep directamente en archivos como antes:

grep -v -e "Word1" -e "Word2" example.txt

Otro enfoque es separar qué excluir con grep usando una tubería para separar cada coincidencia, de la siguiente manera:

grep -Ev "word1|word2" example.txt

Si prueba cualquiera de estas opciones en un archivo de texto de ejemplo, encontrará que el resultado es el mismo independientemente del enfoque que adopte, cada una de las cuales excluye las líneas que incluyen las frases, sintaxis, palabras o coincidencia de texto de destino.

Genial, muéstrame un ejemplo útil de exclusión de datos grep.

Para obtener un ejemplo práctico que los usuarios avanzados de Mac pueden encontrar útil, podemos usar la exclusión grep al imprimir y consultar el historial de la línea de comandos para encontrar comandos ejecutados previamente para encontrar coincidencias predeterminadas, pero excluyendo algunas de las cadenas predeterminadas seleccionadas de la salida.

En este ejemplo, imprimiremos el historial de pedidos de las coincidencias de cadenas predeterminadas, pero excluiremos las coincidencias relacionadas con iTunes según lo definido por «com.apple.itunes»:

history |grep "defaults write" |grep -v -e "com.apple.itunes"

Entonces, si ha estado rastreando a lo largo del tiempo, esto informaría todas las ejecuciones históricas del comando de «escritura predeterminada», excluyendo todo lo relacionado con la aplicación iTunes. ¿OK no?

Si tiene usos particularmente útiles para excluir coincidencias grep, ¡compártalos con nosotros en los comentarios a continuación! Y si le gustó este artículo, es casi seguro que le gustaría explorar nuestros muchos elementos desde la línea de comandos aquí, ¡donde hay mucho más que aprender!

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar