Cómo usar operadores de comparación con AWK en Linux - Parte 4
- 4103
- 882
- Norma Sedillo
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:
>
- mas grande que<
- menos que> =
- Mayor qué o igual a<=
- Menos que o igual a==
- igual a!=
- no igual aSome_Value ~ / Pattern /
- Verdadero si algún patrón de coincidencia de Valuealgú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.
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:
- 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.
- 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.
- « Cómo usar expresiones compuestas con AWK en Linux - Parte 5
- Explicación de Todo es un archivo y tipos de archivos en Linux »