Expresiones Constantes - AWK

El tipo de expresión más simple es la constante, la cual tiene siempre el mismo valor. Existen tres tipos de constantes: constantes numéricas, constantes de cadenas, y constantes de expresiones regulares.

Una constante numérica representa un número. Este número puede ser un entero, una fracción decimal, o un número en notación científica (exponencial). Dese cuenta que todos los valores numéricos están representados en awk como doble-precisión en punto flotante. Aquí se presentan algunos ejemplos de constantes numéricas, las cuales tienen todas el mismo valor:

105
1.05e+2
1050e-1

Una constante cadena consiste en una secuencia de caracteres encerrados entre dobles comillas. Por ejemplo:

"loro"

representa la cadena cuyo contenido es ‘loro’. Las cadenas en gawk pueden ser de cualquier longitud y pueden contener cualquier carácter ASCII de 8-bits incluído el ASCII NUL. Otras implementaciones de awk podrían tener dificultad con algunos códigos de carácter.

Algunos caracteres no pueden ser incluídos literalmente en una constante cadena. Las representas en su lugar con secuencias de escape, las cuales son secuencias de caracteres que empiezan con una barra invertida (‘\’). Uno de los usos de una secuencia de escape es incluir un carácter de doble comillado en una constante cadena. Ya que un simple comilla doble representaría el final de la cadena, debes usar ‘\’ para representar un carácter de doble comilla como parte de la cadena. El mismo carácter de barra invertida es otro carácter que no puede ser incluído normalmente, debes escribir ‘\\’ para incluir este carácter en una cadena. Por lo que, la cadena cuyo contenido son los dos caracteres ‘”\’ debería ser escrita “\”\\”. Otro uso de la barra invertida es  para  representar  caracteres no imprimibles como el newline. Aquí tienes una tabla de todas las secuencias de escape usadas en awk:

Representa el retroceso o espacio atrás, control-h, código ASCII 8. Representa un carácter de nueva línea (newline), control-j, código ASCII 10.

\\
Representa una barra invertida literal, `\'.
\a
Representa el carácter “alerta”, control-g, código ASCII 7.
\b
\f
Representa un formfeed, control-l, código ASCII 12
\n
\r
Representa un retorno de carro, control-m, código ASCII 13
\t
Representa un tabulador horizontal, control-i, código ASCII 9.
\v
Representa un tabulador vertical, control-k, código ASCII 11.
\nnn
Representa el valor octal nnn, donde nnn son tres dígitos comprendidos entre 0 y 7. Por ejemplo, el código para el valor del carácter ASCII ESC (escape) es `\033'
\xhh..
Representa el valor hexadecimal hh, donce hh son dígitos hexadecimales (desde ‘0’ a ‘9’ y desde ‘A’ a ‘F’ o desde ‘a’ a ‘f’) Al igual que la misma construcción en el ANSI C, la secuencia escape continúa hasta que se encuentra el primer dígito no hexadecimal. Sin embargo, el uso de más de dos dígitos hexadecimales produce resultados indefinidos
 
Una expresión regular constante es una descripción de expresión regular encerrada entre barras, tal y como /^comienzo y fin$/. La mayoría de las expresiones regulares usadas en los programas awk son constantes, pero los operadores ‘~’ y ‘!~’ pueden también encajar con expresiones regulares computadas o “dinámicas”.

Las expresiones regulares constantes son útiles sólo con los operadores ‘~’ y ‘!~’; no las puedes asignar a variables o imprimirlas. Ellas no son expresiones realmente en el sentido estricto de la palabra.

Publicar un comentario

0 Comentarios