Cómo usar operadores de comparación con AWK en Linux - Parte 4

Cómo usar operadores de comparación con AWK en Linux - Parte 4

Al tratar con valores numéricos o de cadena en una línea de texto, filtrar texto o cadenas utilizando operadores de comparación es útil para Asombrar usuarios de comandos.

En esta parte de la serie AWK, veremos cómo puede filtrar texto o cadenas utilizando operadores de comparación. Si usted es un programador, ya debe estar familiarizado con los operadores de comparación, pero aquellos que no lo son, déjame explicarte en la sección a continuación.

¿Qué son los operadores de comparación en AWK??

Los operadores de comparación en AWK se utilizan para comparar el valor de los números o las cadenas e incluyen lo siguiente:

  1. > - mas grande que
  2. < - menos que
  3. > = - Mayor qué o igual a
  4. <= - Menos que o igual a
  5. == - igual a
  6. != - no igual a
  7. Some_Value ~ / Pattern / - Verdadero si algún patrón de coincidencia de Value
  8. algún_value !~ / Patrón / - Verdadero si Some_Value no coincide con el patrón

Ahora que hemos analizado los diversos operadores de comparación en AWK, comprendamos mejor usando un ejemplo.

En este ejemplo, tenemos un archivo nombrado Food_list.TXT que es una lista de compras para diferentes alimentos y me gustaría marcar alimentos cuya cantidad sea menor o igual a 20 al agregar (**) Al final de cada línea.

Archivo - Food_list.TXT
No hay item_name precio precio 1 mangos 45 $ 3.45 2 manzanas 25 $ 2.45 3 piñas 5 $ 4.45 4 tomates 25 $ 3.45 5 cebollas 15 $ 1.45 6 plátanos 30 $ 3.45 

La sintaxis general para usar operadores de comparación en AWK es:

# expresión acciones;  

Para lograr el objetivo anterior, tendré que ejecutar el comando a continuación:

# AWK '$ 3 30 imprimir $ 0;' Food_list.TXT No item_name 'precio de cantidad 1 mangos 45 $ 3.45 2 manzanas 25 $ 2.45 ** 3 piñas 5 $ 4.45 ** 4 tomates 25 $ 3.45 ** 5 cebollas 15 $ 1.45 ** 6 Bananas 30 $ 3.45 ** 

En el ejemplo anterior, hay dos cosas importantes que suceden:

  1. La primera expresión acción ; combinación, $ 3 <= 30 printf "%s \ t%s \ n", $ 0, "**"; Imprime líneas con cantidad menor o igual a 30 y agrega un (**) Al final de cada línea. Se accede al valor de la cantidad utilizando $ 3 variable de campo.
  2. La segunda expresión acción ; combinación, $ 3> 30 Imprimir $ 0; Imprime líneas sin cambios ya que su cantidad es mayor que 30.

Un ejemplo más:

# awk '$ 3 20 imprimir $ 0;' Food_list.TXT  No hay item_name precio precio 1 mangos 45 $ 3.45 2 manzanas 25 $ 2.45 3 piñas 5 $ 4.45 verdadero 4 tomates 25 $ 3.45 5 cebollas 15 $ 1.45 verdadero 6 plátanos 30 $ 3.45 

En este ejemplo, queremos indicar líneas con cantidad menos o igual a 20 con la palabra (VERDADERO) al final.

Resumen

Este es un tutorial introductorio para los operadores de comparación en Asombrar, Por lo tanto, debe probar muchas otras opciones y descubrir más.

En el caso de cualquier problema que enfrente o cualquier adición que tenga en mente, luego deje un comentario en la sección de comentarios a continuación. Recuerde leer la siguiente parte de la serie AWK donde lo llevaré a través de expresiones compuestas.