Cómo usar expresiones compuestas con Awk en Linux-Parte 5

Cómo usar expresiones compuestas con Awk en Linux-Parte 5

Durante todo este tiempo, hemos estado observando expresiones simples al verificar si una condición se ha cumplido o no. ¿Qué sucede si desea usar más de una expresión para verificar una condición en particular?

En este artículo, veremos cómo puede combinar varias expresiones denominadas expresiones compuestas para verificar una condición al filtrar texto o cadenas.

En Awk. las expresiones compuestas. se construyen usando && referidas como (y) y || denominados (o) operadores compuestos.

La sintaxis general de las expresiones compuestas es:

(first_expression) && (second_expression)

Aquí, first_expression y second_expression deben ser verdaderas para hacer el conjunto expresión verdadera.

(primera_expresión) || (second_expression) freestar.config.enabled_slots.push

Aquí, una de las expresiones first_expression o second_expression debe ser verdadera para que toda la expresión sea verdadera.

Precaución. Recuerde incluir siempre el paréntesis.

Las expresiones se pueden construir usando los operadores de comparación que buscamos en la Parte 4 de la serie awk.

Ahora obtengamos una comprensión clara usando un ejemplo a continuación:

En este ejemplo, tenemos un archivo de texto llamado tecmint_deals.txt, que contiene una lista de algunas ofertas increíbles de Tecmint al azar, incluye el nombre de la oferta, el precio y el tipo.

Lista de ofertas TecMint No Nombre Precio Tipo 1 Mac_OS_X_Cleanup_Suite $ 9.99 Software 2 Basics_Notebook $ 14.99 Lifestyle 3 Tactical_Pen $ 25.99 Lifestyle 4 Scapple $ 19.00 Desconocido 5 Nano_Tool_Pack $ 11.99 Desconocido 6 Ditto_Bluetooth_Altering_Device $ 33.00 Tech 7 Nano_Prowler_Mini_Drone $ 36.99 Tech

Digamos que solo queremos imprimir y marcar ofertas por encima de $ 20. y del tipo “Tech”. usando el signo (**) al final de cada línea.

Tendremos que ejecutar el siguiente comando.

# awk ‘($ 3 ~/^$[2-9][0-9]*\.[0-9][0-9]$/) && ($ 4 == “Tecnología”) printf “% s \ t % s \ n “, $ 0,” * “; ‘tecmint_deals.txt. 6 Ditto_Bluetooth_Altering_Device $ 33.00. Tech *. 7 Nano_Prowler_Mini_Drone $ 36.99. Tech *.

En este ejemplo, hemos usado dos expresiones en una expresión compuesta:

  1. Primera expresión, ($ 3 ~/^ \ $ [2-9] [0-9] * \. [0-9] [0-9] $/) ; comprueba las líneas con ofertas con precio superior a $ 20. y solo es cierto si el valor de $ 3. que es el precio, coincide con el patrón /^ \ $ [ 2-9] [0-9] * \. [0-9] [0-9] $/
  2. Y la segunda expresión, ($ 4 == “Tecnología” ). comprueba si la oferta es del tipo “Tecnología”. y solo es verdadera si el valor de $ 4. es igual a “Tecnología”.

Recuerde, una línea solo se marcará con (**), si la primera expresión. y la segunda expresión. son verdaderas como establece el principio de el operador &&.

Resumen

Algunas condiciones siempre requieren la construcción de expresiones compuestas para que coincida exactamente con lo que desea. Cuando comprenda el uso de los operadores de comparación y de expresión compuesta, el filtrado de texto o cadenas en función de algunas condiciones difíciles será más fácil.

Espero que encuentre útil esta guía y, para cualquier pregunta o adición, recuerde siempre dejar un comentario y su inquietud se resolverá en consecuencia.