Herramientas Grep y AWK

Slides:



Advertisements
Presentaciones similares
Laboratorio Lenguaje de Programación ING2101
Advertisements

Estructuras de control
ESTRUCTURAS DE CONTROL
Programación de Computadores
Lenguaje PHP Capítulo 4.
Introducción a Transact-SQL
ADA: lenguaje de programación concurrente
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
Te presento a Python Qué es Python? Lenguaje interpretado
PHP-MYSQL OPERADORES EN PHP
Metodología de la Programación
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
4 – Filtros Programación II Ing. Diego J. Arcusin
Resolución de Problemas y Algoritmos Buffer - Read & Readln
Seminario de Actualización - Excel Avanzado y Macros
Tema 2: Lenguaje PHP básico
FORTRAN 90 arreglos.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Una breve introducción
Conceptos Básicos de Java
2 Acciones y funciones 2.1 Concepto
FUNCIONES Y PROCEDIMIENTOS
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Ingeniero Anyelo Quintero
Introducción a la Computación
PROCEDIMIENTOS FUNCIONES
Diseño de diagramación Diagrama: es una representación gráfica del flujo información de y el proceso de ejecución del programa. Plateo del problema en.
Estructuras de Iteracion (Repetitivas ) while , for,, do-while
Programación en Matlab
Programación II Ing. Diego J. Arcusin 8 – Perl.
Tema 1: Lenguaje PHP básico Ing. Tulio Nel Benavides Peña
Página Web del Lenguaje Pascal.
Informática Ingeniería en Electrónica y Automática Industrial
Conversión cadena a número
PHP TODO SOBRE PHP.
Compiladores (23/04/ :35) Compiladores Tema 3 Análisis Lexicográfico Scanners.
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
1002 JM while not detener: adivina = int(raw_input('Ingrese un entero : ')) if adivina == numero: print 'Felicitaciones, haz adivinado!.' detener = True.
Ciclos (Loops, Repeticiones) Permiten ejecutar una secuencia de sentencias mas de una vez. Hay 2 tipos de loops:  WHILE repite la acción un número indefinido.
NVA-LNG1 3. SENTENCIAS. NVA-LNG2 Asignación Es una sentencia que almacena: el valor del argumento ubicado a la derecha del símbolo que la representa En.
PHP-MYSQL Introducción Prof. Juan Carlos Lima Cruz Colegio IPTCE.
FILTROS. Un filtro es un programa que recibe una entrada, la procesa y devuelve una salida. Relacionando filtros simples podemos hacer prácticamente cualquier.
Elementos básicos del lenguaje
Funciones Definidas por el Programador
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 11: Manipulación de PROCESOS en LINUX, Introducción.
© Manuel ColladoAWK-1 Herramientas Grep y AWK Grep: Globally search for Reg. Expr. and Print (UNIX - editor “ed” - g/re/ p) AWK: Aho, Weinberger.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
PEDRO ALBERTO ARIAS QUINTERO. El shell es un intérprete de órdenes, los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como.
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
Estructuras de Control en Visual Basic.net
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
Programación con MATLAB 5.3
PRINCIPIOS DE PROGRAMACIÓN

PHP el Lenguaje Ejercicios Básicos.
1 TÉCNICAS DE PROGRAMACIÓN Lenguaje C Tercera Clase (Segunda de C)
Se pueden incluir comentarios en cualquier parte de un programa pero deben delimitarse con llaves o con paréntesis y asterisco:
Declaraciones. 1 Nombres de identificadores Identificador: – Nombres usados para referirse a las variables, identificar funciones o etiquetas definidos.
Práctica Profesional PHP.
Introducción al lenguaje PROCESSING para ARDUINO
Estructuras de Decisión
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
U11: Recursividad Otra manera de hacer bucles Dicen algunos pedagogos que conceptualmente mas sencilla.
PARCIAL 2. LENGUAJE DE PROGRAMACIÓN UN LENGUAJE SE PUEDE DEFINIR COMO UN CONJUNTO DE PALABRAS Y FORMAS DE EXPRESIÓN POR MEDIO DE LAS CUALES SE COMUNICAN.
INS-204 Fundamentos de Programacion notas de clase, objetivo, programar en Python con nivel medio de destreza.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Herramientas Grep y AWK Grep: Globally search for Reg. Expr. and Print UNIX - editor “ed” - g/re/p AWK: Aho, Weinberger y Kernighan

Expresiones regulares Expresiones simples x  carácter x, si es carácter normal .  cualquier carácter ^  principio del texto, si va al comienzo $  fin del texto, si va al final [aeiou]  un carácter del conjunto [a-z]  un carácter del rango [^aeiou0-9]  complementa el conjunto \x  carácter x, incluso especial

Expresiones regulares Expresiones compuestas x+  una o más repeticiones de x x*  cero o más repeticiones de x x?  cero o una aparición de x una | otra  una u otra expresión (x)  expresión x xy  expresión x seguida de y Ejemplo: valor real al comienzo del texto ^[+\-0-9][0-9]*\.[0-9]*

Herramienta Grep Se invoca de la forma: > grep patrón ficheros... Efecto: Lee los ficheros y envía a la salida cada línea que se ajuste al patrón Ejemplo: > grep ^/[/\*] *.h *.cpp (obtiene todas las líneas de código que empiecen con un comentario // o /*)

Programa AWK Esquema general del programa Ejecución de un programa AWK Colección de cláusulas  patrón { acción } Patrón omitido  se cumple siempre Acción omitida  { print } (imprimir línea) Patrón /expr.regular/  debe ajustarse a la línea Patrón expr. aritmét.  cumple si no nulo (0 o “”) Ejecución de un programa AWK Leer los ficheros de entrada línea por línea y aplicar a cada línea la colección de cláusulas, por su orden.

Programa AWK Patrones especiales Código de las acciones BEGIN  se cumple antes de leer la entrada END  se cumple al final de todo el proceso x , y  lo cumple un rango de líneas Código de las acciones Las acciones se escriben como en lenguaje C No hay que declarar las variables (se crean al usarlas, con valores nulos) Valores numéricos o de texto, indistintamente.

Programa AWK Invocar la herramienta AWK Ejemplo: awk "programa" ficheros... awk -f programa ficheros... awk ... -v var=valor ... Programa en la misma orden o en fichero de texto Ejemplo: awk "/^[0-9]/ {print $1}" *.txt Imprime el primer campo de cada línea de un fichero de texto que empiece por un número

Programa AWK Campos en las líneas de entrada: $n  n-simo campo $0  toda la línea $0 = “ejemplo de línea de texto” $1 = “ejemplo” $2 = “de” $3 = “línea” $4 = “de” $5 = “texto” La referencia a un campo puede ser calculada: k = 3 $k = “línea”

Programa AWK Algunas variables predefinidas: NF  número de campos NR  número de la línea (global) FNR  número de la línea (local al fichero) FILENAME  nombre del fichero actual Las variables anteriores toman valor automática-mente con cada línea FS  sep. de campos de entrada (“ ”) RS  sep. de líneas de entrada (“\n”)

Programa AWK Algunas sentencias de uso frecuente: var = expresión if (condición) acción [ else acción ] while (condición) acción for (k=ini; k<=fin; k++) acción { sentencia; sentencia ... } print [ expresión, expresión ... ] printf (formato, expresión, expresión ... )

Programa AWK Tablas (vectores asociativos) Colección de pares: (clave, información) Notación de array: tabla[clave] = información Claves de cualesquier tipo (números o texto) Recorrido: for (clave in tabla) acción Creación automática, al referirse a un elemento Destrucción explícita: delete tabla[clave] delete tabla

Ejemplo AWK: Concordancias Frecuencia de aparición de cada palabra { for (k=1; k<=NF; k++) { cuenta[$k]++ } END { for (pal in cuenta) { print pal, cuenta[pal]