El lenguaje awk utiliza los operadores aritméticos comunes cuando se evalúan expresiones. Todos estos operadores aritméticos siguen las reglas de precedencia normales, y se comportan como se podría esperar de ellos. Este ejemplo divide el campo tercero entre el campo cuarto y el resultado lo suma al campo dos, almacenando el resultado en el campo uno, e imprime el registro de entrada alterado:
awk '{ $1 = $2 + $3 / $4; print }' inventario-enviado
Los operadores aritméticos en awk son:
x + y
|
Suma. |
x - y
|
Resta. |
- x
|
Negación. |
x * y
|
Multiplicación |
x / y
|
División. Ya que todos los números en awk son puntos flotante de doble precisión, el resultado no se redondea a entero: 3 / 4 tiene el valor 0.75. |
x % y
|
Resto. El cociente se redondea a cero o a un entero, se multiplica por y y este resultado se le resta a x. La siguiente relación siempre se cumple:
b * int(a / b) + (a % b) == a
Otro efecto indeseable de esta definición de resto es que x%y sea negativo si x es negativo. Por lo que,
-17 % 8 = -1
En otras implementaciones awk, la falta de signo del resto puede ser dependiente de la máquina.
|
x ^ y
x ** y
|
Exponenciación: x elevado a la potencia de y. 2 ^ 3 tiene el valor 8. La secuencia de caracteres ‘**’ es equivalente al carácter ‘^’. |
0 Comentarios