Cómo usar la declaración condicional en el comando AWK

Cómo usar la declaración condicional en el comando AWK
La declaración condicional se utiliza en cualquier lenguaje de programación para ejecutar cualquier declaración basada en una condición particular. La declaración condicional se ejecuta en función del valor verdadero o falso cuando las declaraciones if-else e if-elseif se usan para escribir la declaración condicional en la programación. AWK admite todo tipo de declaraciones condicionales como otros lenguajes de programación. Cómo se pueden usar diferentes declaraciones condicionales en el comando AWK se muestra en este tutorial.

Sintaxis:

La sintaxis para cuatro tipos de declaraciones condicionales se menciona a continuación.

  1. Declaración if
if (condición)
declaración

La declaración se ejecuta cuando la condición if devuelve verdadera.

  1. Declaración if-else
if (condición)
declaración-1

demás
declaración-2

La declaración-1 se ejecuta cuando la condición if es verdadera y la declaración-2 se ejecuta cuando if return false.

  1. Declaración if-elseif
if (condición)
declaración-1

elseif
declaración-2

elseif
declaración 3

… .
demás
declaración-n

Esta declaración condicional se utiliza para ejecutar una declaración basada en múltiples condiciones si. Si la primera condición es falsa, entonces verifica la segunda condición. Si la segunda condición es falsa, entonces verifica la tercera condición y así sucesivamente. Si todas las condiciones devuelven falsas, ejecutará la declaración de la parte más.

  1. Ternario (?:) operador
(condición) ? Declaración-1: Declaración-2

El operador ternario se puede utilizar como una alternativa de la declaración if-else. Si la condición verdadera se ejecutará la declaración-1 y si la condición falsa, entonces la declaración-2 se ejecutará.

Ejemplo-1: Usando simple si está en AWK

Crear un archivo de texto llamado emplyee.TXT con el siguiente contenido. Supongamos que debe averiguar el nombre del departamento, la edad y el salario del empleado cuya identificación es 11002.

empleado.TXT

11001 Ventas 45 $ 3000
11002 HR 32 $ 1500
11003 Marketing 26 $ 1200
11004 HR 25 $ 2500

Una condición simple si se usa en el siguiente script para buscar el ID 11002 en el primer campo del archivo. Si la condición se hace verdadera, imprimirá los valores de los otros campos de la línea correspondiente, de lo contrario se imprimirá nada.

$ awk '
if ($ 1 == "11002")

Imprima "Nombre del departamento:", $ 2, "\ n";
imprimir "edad:", $ 3, "\ n";
imprimir "salario:", $ 4, "\ n";

' empleado.TXT

Producción:

La identificación, 1102 existe en el archivo. Entonces, imprimió los otros valores del empleado.

Ejemplo-2: usando if-else en AWK

Supongamos que desea imprimir la información salarial de los empleados cuya edad es menor o igual a 40 e imprimir la información de edad para otros empleados. El siguiente script AWK puede hacer esta tarea. Solo hay un empleado en empleado.TXT Archivo cuya edad es de más de 40 años y toda la edad de los demás empleados es inferior a 40.

$ awk '
if ($ 3 <= 40)

Imprima "El salario de", $ 1, "es", $ 4, "\ n"

demás

Imprima "La edad de", $ 1, "is", $ 3, "\ n"

' empleado.TXT

Producción:

La siguiente salida aparecerá después de ejecutar el script.

Ejemplo-3: usando if-elseif en script awk

Crear un archivo de texto con nombre de persona.txt con el siguiente contenido.

persona.TXT

Negocio masculino de Jackson
Titular de servicio masculino de Martin
Gerente Femenina de Lily
CEO masculino de Robinson

Crear un archivo AWK con nombre if_elseif.asombrar con el siguiente código para imprimir el color favorito de cada persona cuyo nombre existe en el archivo. La instrucción if-elseif se usa en el script para hacer esta tarea. El script leerá el primer valor de campo del archivo, empleado.TXT y verifique con un valor particular. Si el primero si la condición se vuelve falsa, entonces verificará el segundo si condición y así sucesivamente. Cuando cualquier condición si se hace realidad, entonces se asignará un valor de color. Si todas las condiciones se vuelven falsas entonces Ninguno se asignará como el valor de color. El color favorito de cada persona imprimirá o "Ninguna persona encontró" Imprimirá si ningún nombre de persona coincide.

if_elseif.asombrar


nombre = $ 1;
if (name == "jackson") color = "azul";
else if (name == "martin") color = "negro";
else if (name == "lirio") color = "rojo";
else if (name == "Robinson") color = "blanco";
else color = "ninguno";
if (color!= "Ninguno") imprima "el color favorito de", nombre, "es", color;
else imprima "no se encontró ninguna persona";

Ejecute el siguiente comando para ejecutar el archivo if_elseif.Awk con persona.TXT

$ awk -f if_elseif.persona awk.TXT

Producción:

La siguiente salida aparecerá después de ejecutar el comando.

Ejemplo-4: Uso del operador ternario en AWK

El tercer campo de persona.TXT El archivo contiene la profesión de cada persona. El siguiente operador ternario lee cada línea del archivo y coincide con el tercer valor de campo con "Gerente". Si el valor coincide, imprimirá el nombre de la persona y de lo contrario imprimirá el género de la persona.

$ awk 'print ($ 3 == "gerente") ? "El nombre es" $ 1: "El género es" $ 2 '.TXT

Producción:

La siguiente salida aparecerá después de ejecutar el script. Una persona con "la profesión gerente existe en el persona.TXT. Entonces, el nombre de una persona se imprime y el género se imprime para otras personas.

Ejemplo-5: Uso de múltiples condiciones en la declaración IF

Lógico o lógico y se puede usar para definir múltiples condiciones en la declaración condicional del script AWK. El siguiente script AWK lee cada línea de empleado.TXT y verifica la edad y la designación con valores particulares. Lógico y se usa en el si condición. Cuando el valor de edad es mayor o igual a 30 y la designación es "recursos humanos", la identificación y el salario del empleado correspondiente se imprimirán.

$ awk 'if ($ 3> = 30 && $ 2 == "HR") Imprimir "ID de empleado:",
$ 1, "y", "Salario:", $ 4, "\ n"; 'Empleado.TXT

Producción:

La siguiente salida aparecerá después de ejecutar el script. Solo existe un empleado con la designación, "recursos humanos" en empleado.TXT. ID y información salarial para este empleado se imprimen aquí.

Conclusión:

Los usos más comunes de la declaración condicional de cualquier programación estándar son compatibles con el comando AWK. La forma en que puede usar condiciones simples y múltiples en AWK se explica utilizando ejemplos muy simples aquí. Esperanza Después de practicar estos ejemplos, el alumno podrá usar la declaración condicional correctamente en el script AWK.