Hay dos tipos de operadores en awk:
- Operador Unario - Este operador acepta un operador individual.
- Operador Binario - Este operador acepta mas de un operador.
Operadores Unarios
Operador | Descripción |
+ | Hace positivo al numero |
- | Hace negativo al numero |
++ | Auto incrementa
|
– | Auto Decrementa |
Operador Binario AWK
Hay diferentes clases de operador binarios disponibles en Awk. Han sido clasificados según su uso:
Operadores Aritméticos
Los siguientes operadores son usados para realizar operaciones de calculo aritmético:
Operador | Descripción
|
+ | Suma |
- | Resta |
* | Multiplicación
|
/ | División
|
% | Modulo de División
|
Operador de Cadena Awk
Para la concatenación de cadenas awk utiliza el siguiente operador:
Operador | Descripción
|
(espacio) | Concatenación de cadena
|
Operadores de Asignación Awk
Awk tiene operador de asignación y Atajos de operador de asignación:
Operador | Descripción
|
= | Asignación
|
+= | Atajo de asignación de suma |
-= | Atajo de asignación de resta |
*= | Atajo de asignación de multiplicación
|
/= | Atajo de asignación de división
|
%= | Atajo de asignación de modulo de division |
Operadores Condicionales Awk
Awk tiene la siguiente lista de operadores condicionales los cuales pueden ser usados con controles de estructuras y bucles:
Operador | Descripción
|
> | Es mayor que |
>= | Es mayor que o igual a |
< | Es menor que |
<= | Es menor que o igual a |
== | Es igual a |
!= | No es igual a |
&& | Ambas condiciones deben ser verdaderas |
|| | Cualquiera de las condiciones pueden ser verdadera |
Operador de Expresiones Regulares Awk
Operador | Descripción
|
~ | Operador de coincidencia |
!~ | Operador de No Coincidencia |
Ejemplos de Operadores AWK
Veamos algunos ejemplos que usan operadores awk. Se usara el archivo /etc/passwd como entrada en estos ejemplos:
Ejemplo 1: Contar el numero total de campos en el archivo:
El siguiente código, ubica todas las lineas y añade el numero de campos en cada linea, usando el operador de atajo para asignación de suma. El numero de campos se mantienen en la variable 'total'. Una vez que la entrada ha sido procesada, el patrón especial 'END {...}' es ejecutado, el cual imprime el numero total de campos.
$ awk -F ':' '{ total += NF }; END { print total }' /etc/passwd
49
Ejemplo 2: Contar el numero de usuarios que están usando /bin/sh
En el siguiente código awk, se ubicaran el ultimo campo de todas las lineas que contengan el patrón /bin/sh. La expresión regular debe estar encerrada entre //. Por eso todos los (/) tienen que estar con carácter de escape en la expresión regular. Cuando encuentra uno la variable 'n' se incrementa a uno.
$ awk -F ':' '$NF ~ /\/bin\/sh/ { n++ }; END { print n }' /etc/passwd
2
No hay comentarios:
Publicar un comentario