Datos Estructurados AWK
Datos Estructurados AWK
Datos Estructurados AWK
Charles Escobar
Ciclo de vida de la minería de
datos con el modelo CRISP-DM.
Fases principales en el ciclo de vida de la minería
de datos y la dirección a seguir se muestra con
flechas. Este modelo no es una imposición rígida,
sino más bien un marco para garantizar que está
en el camino correcto al pasar por el ciclo de vida
de cualquier proyecto de análisis.
Figure 1-22. The CRISP-DM model depicting the data mining lifecycle
Practical Machine Learning with Python
Dipanjan Sarkar/Raghav Bali/Tushar Sharma
Datos estructurados con BASH y AWK
AWK
awk [-Ffs] [-v var=valor] [-V] [-C] [-c] [-a] [-e] [--] 'program' fichero…
awk [-Ffs] -f fichero-fuente [-f fichero-fuente ...] [-v var=valor] [-V] [-C] [-c] [-a] [-e] [--] fichero...
INVOCACIÓN DE AWK
-Ffs Fija la variable FS al valor fs
-f source-file Indica que el program awk se encuentra en el fichero-fuente en lugar de en
el primer argumento que no es opción.
-v var=valor Le asigna a la variable var el valor valor antes de que comience la
ejecución del programa. Dichos valores de variables están disponibles
dentro de la regla BEGIN
La opción ‘-v’ solo puede fijar el valor de una variable, pero se pueden
especificar tantas variables como se deseen mediante el uso repetido de
esta opción: `-v foo=1 -v bar=2'.
-a Especifica el uso de la sintáxis de awk tradicional para las expresiones
regulares. Esto significa que ‘\’ puede ser usado para quote cualquier
expresión regular dentro de corchetes, tal y como sería fuera de ellos. Este
modo es actualmente el modo por defecto. Ver la sección Operadores
de Expresiones Regulares .
INVOCACIÓN DE AWK
-e Especifica el uso de la sintáxis de egrep para las expresiones regulares. Esto significa que ‘\’
no sirve como un carácter de quoting dentro de los corchetes; técnicas ideosincráticas son
necesarias para incluir varios caracteres especiales dentro de ellas. Este modo podría
convertirse en el modo por defecto en el futuro.
-c Especifica modo compatibilidad, en el cuál las extensiones GNU en gawk son deshabilitadas,
de forma que gawk se comporta como el awk de Unix.
-V Muestra información de la versión para nuestra copia particular de gawk. De esta forma
puedes determinar si tu copia de gawk está actualizada con respecto a la que está
distribuyendo actualmente la Fundación de Software Gratuito. Esta opción podría desaparecer
en una versión futura de gawk.
-C Muestra la versión corta de la Licencia Pública General. Esta opción podría desaparecer en
futuras versiones de gawk.
-- Señala el final de las opciones de la línea de comando. Los siguientes argumentos no son
tratados como opciones incluso aunque empezasen con un guión ‘-‘. Esta interpretación de ‘–'
sigue las convenciones de parsing de argumentos POSIX. Esto es útil si tienes nombres de
ficheros que comiencen con un signo ‘-‘, o en shell scripts, si tienes nombres de ficheros que
serán especificados por el usuario y que podrían empezar con ‘-‘.
AWK
>328,1224,799,682,1382,980,2248,804,903,207,737,54
>783,272,1561,1316,628,1919,1945,1828,533,1100,801,328
AWK
La utilidad awk lee los ficheros de entrada línea a línea. Para
cada línea, awk comprueba todos los patrones de todas las
reglas. Si concuerdan varios patrones entonces se ejecutan
las distintas acciones de cada patrón, en el orden en que
aparecen en el programa awk. Si no concuerda ningún
patrón, entonces no se ejecuta ninguna acción.
>328,1224,799,682,1382,980,2248,804,903,207,737,54
>783,272,1561,1316,628,1919,1945,1828,533,1100,801,328
>783,272,1561,1316,628,1919,1945,1828,533,1100,801,328
AWK
Como cada regla se ejecuta linea por linea, se puede usar “;”
como separador de reglas para ejecutarla en una sola línea
awk ‘patrón { acción } ; patrón { acción }’ fichero
Ejemplos:
x > 0 ? x : -x
x == y ? a[i++] : b[i++]
Condición If - else
Ejemplo
if (x % 2 == 0)
print "x es par"
else
print "x es impar"
Ejemplos:
awk '{ i = 1
while (i <= 3) {
print $i
i++
}
}'
BUCLE DO-WHILE - AWK
do
cuerpo
while (condición)
Ejemplos:
awk '{ i = 1
do {
print $0
i++
} while (i <= 10)
}'
BUCLE FOR - AWK
for (inicialización; condición; incremento)
cuerpo
Ejemplos: