Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Intro AWK

xihh87
February 09, 2017

Intro AWK

El material que se utilizó en un curso introductorio de AWK.

xihh87

February 09, 2017
Tweet

More Decks by xihh87

Other Decks in Education

Transcript

  1. ¿Qué significa AWK? AWK es un minilenguaje para el análisis

    de textos. • Alfred Aho • Peter Weinberger • Brian Kernighan 2
  2. Un pseudo-programa de AWK #!/usr/bin/awk -f BEGIN { acciones antes

    de leer la entrada de datos } condicion { acciones } END { acciones al final de la lectura de datos } 3
  3. Variables útiles FILENAME Filename RS Record Separator NF Number of

    Fields ORS Output Record Separator NR Number of Record FS Field Separator FNR (current) File Number of Record OFS Output Field Separator $1 Field 1 Por ejemplo: • Usar un separador diferente de campos: BEGIN {FS=”:”; OFS=”\t”} {$1 = $1; print} 4
  4. El programa por defecto La condición por defecto es 1

    (verdadero). La acción por defecto es { print }. La variable por defecto en funciones es $0 (toda la línea). El programa más corto, imprime todo tu archivo: 1 5
  5. Ejemplos • ¿Cuántas lineas tiene tu archivo? END { print

    NR } • ¿Cuántos campos tiene cada línea { print NF } • ¿Qué tiene la décima línea? NR == 10 • ¿El último campo de cada línea? {print $NF} • ¿El último campo de la última línea? {n = $NF} END {print n} • ¿Quién tiene más de 4 líneas? NF > 4 • ¿Cuántas líneas dicen «P53»? /P53/ { n = n + 1 } END { print n } 6
  6. Expresiones regulares Si tienes un problema y piensas que puedes

    resolverlo con expresiones regulares entonces tienes dos problemas 7
  7. Referencias • Ejemplos de awk. • Más ejemplos. • Un

    sitio para mostrar gráficamente expresiones regulares. • Un libro explicando expresiones regulares. • De aquí salen las imágenes que explican las expresiones regulares.. 9