Este documento presenta una introducción al lenguaje de programación AWK. Explica que AWK es un lenguaje orientado a datos, basado en expresiones regulares, que se usa comúnmente para procesar logs. También describe la historia de AWK, sus diferentes versiones, su estructura básica de reglas y acciones, y algunas funciones y características del lenguaje como arreglos, estructuras de control e impresión de salida.
Charla preparada para la cátedra de "Nuevas Tecnologías WAN" v1.2 - Expuesta el 30/08/2010 en la Universidad Tecnológica Nacional - Facultad Regional Santa Fe (Santa Fe - Argentina).
Abordamos la tecnología DSL, sus componentes, codificaciones, problemas y variantes. Y profundizamos mas especificamente en la tecnología ADSL (Asymmetric Digital Subscriber Line).
Este documento es un examen de conocimientos sobre sistemas operativos de red y componentes de servidores. Contiene preguntas de selección múltiple, emparejamiento y completar sobre temas como dominios, Active Directory, DNS, DHCP, servidores de archivos e impresión. También incluye ejercicios para completar un mapa conceptual sobre inicio y apagado de servidores, estructura de directorios y dominios, y requisitos para crear un dominio.
TRM MINI-LINK TN Presentation By Khalil Al-AlamiKhalil Al-Alami
The document discusses transmission and microwave radio systems. It describes transmission as the process of transmitting traffic like voice, data and video between a source and destination over a medium. Transmission in mobile systems is needed to establish connections between mobile devices and the network to make calls. Microwave radio is used as a wireless transmission system using short wavelength radio signals for point-to-point communication between fixed locations. The document provides details on microwave link components, configurations, protection techniques and specifications.
Redes Wireless 802.11b Características y SecurizaciónConferencias FIST
Este documento describe las características y la segurización de las redes inalámbricas 802.11b. Explica que estas redes tienen una velocidad estándar de 1 a 11 Mbps y operan en la banda de 2,4 GHz. También describe las topologías punto a punto y de infraestructura, y explica que el protocolo 802.11b y el cifrado WEP tienen deficiencias de seguridad. Finalmente, recomienda implementar medidas de seguridad físicas, lógicas e iniciativas como 802.11i,
Este documento describe cómo configurar varias directivas de grupo en un dominio de Windows Server 2012, incluida la habilitación de fondos de escritorio activos, permitir inicios de sesión locales, establecer una política de contraseñas cortas para un usuario de prueba, y configurar la sincronización de hora a través de un servidor.
Configuración básica de un router y switchAlex Yungan
Este documento describe la configuración básica de un router y switch. Explica las características principales de cada dispositivo, sus elementos clave y comandos básicos para la configuración. También incluye capturas de pantalla que muestran ejemplos de configuraciones de router y switch.
The document discusses the importance of in-building wireless coverage and describes different in-building wireless solutions. It covers distributed antenna systems (DAS), including passive and active DAS. For passive DAS, it details common components like coaxial cables, splitters, tappers, attenuators, and filters. Active DAS uses main units, expansion units, and remote units connected by fiber optic cables. The document provides examples of passive and active DAS diagrams and discusses hybrid systems. It outlines the key steps for in-building wireless design, including site surveys, capacity analysis, and link budget calculations.
El documento describe lo que es un firewall, cómo funciona y cómo se implementa. Un firewall es un elemento de hardware o software que controla las comunicaciones entre redes según políticas de seguridad. Opera en puntos de conexión entre redes internas y externas. Puede realizar funciones como NAT, proxy, QoS y balanceo de carga. Se implementa a través de reglas que permiten o deniegan tráfico en función de parámetros como protocolos, puertos y direcciones IP.
Charla preparada para la cátedra de "Nuevas Tecnologías WAN" v1.2 - Expuesta el 30/08/2010 en la Universidad Tecnológica Nacional - Facultad Regional Santa Fe (Santa Fe - Argentina).
Abordamos la tecnología DSL, sus componentes, codificaciones, problemas y variantes. Y profundizamos mas especificamente en la tecnología ADSL (Asymmetric Digital Subscriber Line).
Este documento es un examen de conocimientos sobre sistemas operativos de red y componentes de servidores. Contiene preguntas de selección múltiple, emparejamiento y completar sobre temas como dominios, Active Directory, DNS, DHCP, servidores de archivos e impresión. También incluye ejercicios para completar un mapa conceptual sobre inicio y apagado de servidores, estructura de directorios y dominios, y requisitos para crear un dominio.
TRM MINI-LINK TN Presentation By Khalil Al-AlamiKhalil Al-Alami
The document discusses transmission and microwave radio systems. It describes transmission as the process of transmitting traffic like voice, data and video between a source and destination over a medium. Transmission in mobile systems is needed to establish connections between mobile devices and the network to make calls. Microwave radio is used as a wireless transmission system using short wavelength radio signals for point-to-point communication between fixed locations. The document provides details on microwave link components, configurations, protection techniques and specifications.
Redes Wireless 802.11b Características y SecurizaciónConferencias FIST
Este documento describe las características y la segurización de las redes inalámbricas 802.11b. Explica que estas redes tienen una velocidad estándar de 1 a 11 Mbps y operan en la banda de 2,4 GHz. También describe las topologías punto a punto y de infraestructura, y explica que el protocolo 802.11b y el cifrado WEP tienen deficiencias de seguridad. Finalmente, recomienda implementar medidas de seguridad físicas, lógicas e iniciativas como 802.11i,
Este documento describe cómo configurar varias directivas de grupo en un dominio de Windows Server 2012, incluida la habilitación de fondos de escritorio activos, permitir inicios de sesión locales, establecer una política de contraseñas cortas para un usuario de prueba, y configurar la sincronización de hora a través de un servidor.
Configuración básica de un router y switchAlex Yungan
Este documento describe la configuración básica de un router y switch. Explica las características principales de cada dispositivo, sus elementos clave y comandos básicos para la configuración. También incluye capturas de pantalla que muestran ejemplos de configuraciones de router y switch.
The document discusses the importance of in-building wireless coverage and describes different in-building wireless solutions. It covers distributed antenna systems (DAS), including passive and active DAS. For passive DAS, it details common components like coaxial cables, splitters, tappers, attenuators, and filters. Active DAS uses main units, expansion units, and remote units connected by fiber optic cables. The document provides examples of passive and active DAS diagrams and discusses hybrid systems. It outlines the key steps for in-building wireless design, including site surveys, capacity analysis, and link budget calculations.
El documento describe lo que es un firewall, cómo funciona y cómo se implementa. Un firewall es un elemento de hardware o software que controla las comunicaciones entre redes según políticas de seguridad. Opera en puntos de conexión entre redes internas y externas. Puede realizar funciones como NAT, proxy, QoS y balanceo de carga. Se implementa a través de reglas que permiten o deniegan tráfico en función de parámetros como protocolos, puertos y direcciones IP.
Implementación de NAT/PAT en routers CiscoPaulo Colomés
Cómo configurar los 4 tipos de NAT en routers Cisco:
- Dynamic NAT
- Static NAT
- PAT (NAT overload)
- PAT con múltiples IP (Dynamic NAT con overload)
Al final de la diapositiva sale un video de cómo configurar esto.
The document describes the components and configuration of Ericsson's MINI-LINK TN radio access network system. It includes magazines that house plug-in modules, power filter units, fans, node processors, line termination units, Ethernet termination units, and modem units. The magazines come in various sizes to support different node types and capacities, and allow redundant power and modular plug-in modules.
Este documento describe la configuración de redes inalámbricas y puntos de acceso. Explica cómo configurar los parámetros básicos como el SSID y la seguridad, cómo buscar redes disponibles, y cómo configurar clientes inalámbricos, tarjetas de red inalámbricas y modos infraestructura y ad-hoc.
Este documento describe diferentes modelos de predicción para la propagación de ondas electromagnéticas en entornos interiores y exteriores. Explica que la propagación en interiores es más difícil de modelar debido a su gran variabilidad y que los modelos incluyen factores como paredes, pisos y distancia. Para exteriores, destaca el modelo Cost-Walfisch-Ikegami, el cual considera efectos de difracción sobre edificios urbanos y parámetros como frecuencia, altura de antenas y distancia transmisor-receptor.
El documento explica los conceptos fundamentales de direccionamiento IP, incluyendo la estructura y tipos de direcciones IP, las clases de direcciones IP, las máscaras de red y cómo se utilizan para delimitar redes y asignar direcciones a dispositivos. También cubre los pasos para convertir entre sistemas binarios y decimales para interpretar direcciones IP.
This document provides instructions for logging into an LMT base station, configuring the FTP server and Java settings, and downloading and uploading the data configuration file (XML) to and from the base station. It lists the default IP address and login credentials for accessing the base station interface, provides guidance on changing the FTP password, downloading the FTP server software, and configuring the allowed Java sites. It also outlines the steps to select the server IP, folder location, username, and FTP password when downloading or uploading the XML file between the laptop and base station.
Este documento describe conceptos sobre la red óptica síncrona SONET/SDH. Explica que SONET/SDH define tramas básicas de transmisión como STM-1 y STM-N, donde la trama STM-1 tiene una velocidad de 155.52 Mbps. También describe que los datos de usuario se empaquetan en contenedores como C-4, los cuales se agrupan en la trama STM-1. Finalmente, indica que las tramas de menor velocidad se multiplexan por TDM para generar tramas STM-N
Este documento proporciona comandos para configurar la fecha y hora desde CMD y PowerShell en Windows. Desde CMD se pueden obtener y establecer la fecha, hora y zona horaria actuales, así como cambiar la zona horaria de forma manual o automática. Desde PowerShell también se pueden obtener y establecer la fecha y hora actuales en diferentes formatos, y ver la zona horaria configurada.
AMPS fue el primer sistema de telefonía móvil desarrollado en los Estados Unidos en 1982. Dividía la cobertura en celdas con frecuencias diferentes para evitar interferencias y permitía transferir llamadas entre celdas. Aunque fue reemplazado por sistemas digitales como GSM, muchas operadoras todavía lo usan como respaldo debido a su amplia cobertura. En la actualidad, la mayoría de operadoras han apagado sus redes AMPS para liberar el espectro electromagnético.
This document provides an overview of indoor radio planning procedures for mobile network operators. It discusses:
1. The importance of indoor coverage for operators from both technical and commercial perspectives such as improving service quality and maximizing revenue.
2. The key steps in indoor radio planning including site surveys, coverage planning, capacity planning, antenna placement, link budget calculations, and traffic dimensioning using Erlang calculations.
3. Special considerations for indoor radio planning such as preparing for future capacity needs, ensuring elevator coverage, and designing handover zones to avoid call drops.
Este documento presenta varios modelos de propagación para interiores. Brevemente describe las características de las picocélulas y los canales interiores. Luego, introduce el Modelo de Una Pendiente, el Modelo Motley-Cost 231, el Modelo Motley Simplificado y el Modelo de Múltiples Paredes. Cada modelo proporciona una forma de calcular las pérdidas de propagación dentro de edificios basada en mediciones empíricas.
El documento proporciona información sobre los sistemas domóticos X10 e EIB. Explica la evolución y funcionamiento del sistema X10, el cual utiliza la red eléctrica existente para transmitir señales de control. También describe los componentes y características del sistema EIB, el cual usa un bus de comunicaciones descentralizado. Finalmente, detalla diversos dispositivos compatibles con el sistema X10 como controladores, sensores y módulos de control para aparatos eléctricos.
La administración de redes implica (1) mantener una red operativa, eficiente, segura y monitoreada mediante la planeación, documentación y control continuo, (2) monitorear elementos como el rendimiento, configuración, fallas y seguridad para garantizar el funcionamiento adecuado de la red, y (3) los administradores de redes son responsables de configurar, diagnosticar y atender las necesidades de los usuarios de la red.
El documento explica la técnica de VLSM (Variable Length Subnet Mask), que permite asignar máscaras de subred de longitud variable a grupos de subredes. Antes del VLSM solo se usaban máscaras de longitud fija, lo que no era escalable ni optimizaba el uso de direcciones IP. El documento luego muestra un ejemplo práctico de cómo dividir un bloque IP en subredes usando VLSM al desplazar bits de la máscara hacia la porción de host para crear porciones de subred variables.
Cisco Unified Wireless Network and Converged access – Design sessionCisco Russia
This document discusses Cisco's unified wireless network and converged access design session. It provides an overview of wireless standards past and present, including expected developments. Cisco's unified access vision is described, bringing wired and wireless onto a single policy and management framework. The document highlights Cisco's leadership in wireless networking and reviews Cisco's wireless product portfolio, including new access point models. Key capabilities such as RF management and advanced mobility services are also summarized.
Este documento presenta cuatro ejercicios de direccionamiento VLSM. El primer ejercicio asigna subredes de 100, 30 y 24 hosts y 3 subredes de 2 hosts dentro de la red 192.160.0.0/24. El segundo ejercicio asigna subredes de 100, 54, 30, 14 y 12 hosts dentro de la red 192.160.10.0/24. El tercer ejercicio asigna varias subredes dentro de la red 172.10.0.0/16 incluyendo dos subredes de 900 hosts. El cuarto ejercicio asigna sub
El documento describe los esquemas de direccionamiento IP, incluyendo VLSM, Supernetting y CIDR. VLSM permite asignar máscaras de diferente longitud a subredes para aprovechar mejor las direcciones. Supernetting agrupa redes consecutivas en un solo prefijo. CIDR combina estas técnicas y elimina el concepto de clases, permitiendo asignar una dirección de red y máscara del tamaño deseado.
Este documento explica conceptos clave sobre direcciones IP, incluyendo lo que son direcciones IP dinámicas y fijas, cómo funciona el protocolo DHCP, las clases de direcciones IP, subredes, y máscaras de subred. También cubre temas como direcciones MAC, direcciones públicas e IP privadas.
Este documento describe la tecnología de VoIP (voz sobre IP) y su funcionamiento. Explica que VoIP permite realizar llamadas a través de Internet usando protocolos IP en lugar de circuitos telefónicos tradicionales. También describe los protocolos clave como RTP que permiten la transmisión de voz en tiempo real a través de redes IP y las ventajas de costos de VoIP sobre la telefonía convencional.
Angular Optimization Web Performance MeetupDavid Barreto
This document summarizes techniques for optimizing Angular applications, including ahead-of-time compilation, lazy loading, change detection strategies, avoiding memory leaks, and server-side rendering. It provides code examples and compares the performance of different approaches by measuring load times. The main takeaways are that ahead-of-time compilation, lazy loading, and server-side rendering can each significantly improve load performance, and that change detection strategies and unsubscribing from observables are important for memory usage and efficiency.
Implementación de NAT/PAT en routers CiscoPaulo Colomés
Cómo configurar los 4 tipos de NAT en routers Cisco:
- Dynamic NAT
- Static NAT
- PAT (NAT overload)
- PAT con múltiples IP (Dynamic NAT con overload)
Al final de la diapositiva sale un video de cómo configurar esto.
The document describes the components and configuration of Ericsson's MINI-LINK TN radio access network system. It includes magazines that house plug-in modules, power filter units, fans, node processors, line termination units, Ethernet termination units, and modem units. The magazines come in various sizes to support different node types and capacities, and allow redundant power and modular plug-in modules.
Este documento describe la configuración de redes inalámbricas y puntos de acceso. Explica cómo configurar los parámetros básicos como el SSID y la seguridad, cómo buscar redes disponibles, y cómo configurar clientes inalámbricos, tarjetas de red inalámbricas y modos infraestructura y ad-hoc.
Este documento describe diferentes modelos de predicción para la propagación de ondas electromagnéticas en entornos interiores y exteriores. Explica que la propagación en interiores es más difícil de modelar debido a su gran variabilidad y que los modelos incluyen factores como paredes, pisos y distancia. Para exteriores, destaca el modelo Cost-Walfisch-Ikegami, el cual considera efectos de difracción sobre edificios urbanos y parámetros como frecuencia, altura de antenas y distancia transmisor-receptor.
El documento explica los conceptos fundamentales de direccionamiento IP, incluyendo la estructura y tipos de direcciones IP, las clases de direcciones IP, las máscaras de red y cómo se utilizan para delimitar redes y asignar direcciones a dispositivos. También cubre los pasos para convertir entre sistemas binarios y decimales para interpretar direcciones IP.
This document provides instructions for logging into an LMT base station, configuring the FTP server and Java settings, and downloading and uploading the data configuration file (XML) to and from the base station. It lists the default IP address and login credentials for accessing the base station interface, provides guidance on changing the FTP password, downloading the FTP server software, and configuring the allowed Java sites. It also outlines the steps to select the server IP, folder location, username, and FTP password when downloading or uploading the XML file between the laptop and base station.
Este documento describe conceptos sobre la red óptica síncrona SONET/SDH. Explica que SONET/SDH define tramas básicas de transmisión como STM-1 y STM-N, donde la trama STM-1 tiene una velocidad de 155.52 Mbps. También describe que los datos de usuario se empaquetan en contenedores como C-4, los cuales se agrupan en la trama STM-1. Finalmente, indica que las tramas de menor velocidad se multiplexan por TDM para generar tramas STM-N
Este documento proporciona comandos para configurar la fecha y hora desde CMD y PowerShell en Windows. Desde CMD se pueden obtener y establecer la fecha, hora y zona horaria actuales, así como cambiar la zona horaria de forma manual o automática. Desde PowerShell también se pueden obtener y establecer la fecha y hora actuales en diferentes formatos, y ver la zona horaria configurada.
AMPS fue el primer sistema de telefonía móvil desarrollado en los Estados Unidos en 1982. Dividía la cobertura en celdas con frecuencias diferentes para evitar interferencias y permitía transferir llamadas entre celdas. Aunque fue reemplazado por sistemas digitales como GSM, muchas operadoras todavía lo usan como respaldo debido a su amplia cobertura. En la actualidad, la mayoría de operadoras han apagado sus redes AMPS para liberar el espectro electromagnético.
This document provides an overview of indoor radio planning procedures for mobile network operators. It discusses:
1. The importance of indoor coverage for operators from both technical and commercial perspectives such as improving service quality and maximizing revenue.
2. The key steps in indoor radio planning including site surveys, coverage planning, capacity planning, antenna placement, link budget calculations, and traffic dimensioning using Erlang calculations.
3. Special considerations for indoor radio planning such as preparing for future capacity needs, ensuring elevator coverage, and designing handover zones to avoid call drops.
Este documento presenta varios modelos de propagación para interiores. Brevemente describe las características de las picocélulas y los canales interiores. Luego, introduce el Modelo de Una Pendiente, el Modelo Motley-Cost 231, el Modelo Motley Simplificado y el Modelo de Múltiples Paredes. Cada modelo proporciona una forma de calcular las pérdidas de propagación dentro de edificios basada en mediciones empíricas.
El documento proporciona información sobre los sistemas domóticos X10 e EIB. Explica la evolución y funcionamiento del sistema X10, el cual utiliza la red eléctrica existente para transmitir señales de control. También describe los componentes y características del sistema EIB, el cual usa un bus de comunicaciones descentralizado. Finalmente, detalla diversos dispositivos compatibles con el sistema X10 como controladores, sensores y módulos de control para aparatos eléctricos.
La administración de redes implica (1) mantener una red operativa, eficiente, segura y monitoreada mediante la planeación, documentación y control continuo, (2) monitorear elementos como el rendimiento, configuración, fallas y seguridad para garantizar el funcionamiento adecuado de la red, y (3) los administradores de redes son responsables de configurar, diagnosticar y atender las necesidades de los usuarios de la red.
El documento explica la técnica de VLSM (Variable Length Subnet Mask), que permite asignar máscaras de subred de longitud variable a grupos de subredes. Antes del VLSM solo se usaban máscaras de longitud fija, lo que no era escalable ni optimizaba el uso de direcciones IP. El documento luego muestra un ejemplo práctico de cómo dividir un bloque IP en subredes usando VLSM al desplazar bits de la máscara hacia la porción de host para crear porciones de subred variables.
Cisco Unified Wireless Network and Converged access – Design sessionCisco Russia
This document discusses Cisco's unified wireless network and converged access design session. It provides an overview of wireless standards past and present, including expected developments. Cisco's unified access vision is described, bringing wired and wireless onto a single policy and management framework. The document highlights Cisco's leadership in wireless networking and reviews Cisco's wireless product portfolio, including new access point models. Key capabilities such as RF management and advanced mobility services are also summarized.
Este documento presenta cuatro ejercicios de direccionamiento VLSM. El primer ejercicio asigna subredes de 100, 30 y 24 hosts y 3 subredes de 2 hosts dentro de la red 192.160.0.0/24. El segundo ejercicio asigna subredes de 100, 54, 30, 14 y 12 hosts dentro de la red 192.160.10.0/24. El tercer ejercicio asigna varias subredes dentro de la red 172.10.0.0/16 incluyendo dos subredes de 900 hosts. El cuarto ejercicio asigna sub
El documento describe los esquemas de direccionamiento IP, incluyendo VLSM, Supernetting y CIDR. VLSM permite asignar máscaras de diferente longitud a subredes para aprovechar mejor las direcciones. Supernetting agrupa redes consecutivas en un solo prefijo. CIDR combina estas técnicas y elimina el concepto de clases, permitiendo asignar una dirección de red y máscara del tamaño deseado.
Este documento explica conceptos clave sobre direcciones IP, incluyendo lo que son direcciones IP dinámicas y fijas, cómo funciona el protocolo DHCP, las clases de direcciones IP, subredes, y máscaras de subred. También cubre temas como direcciones MAC, direcciones públicas e IP privadas.
Este documento describe la tecnología de VoIP (voz sobre IP) y su funcionamiento. Explica que VoIP permite realizar llamadas a través de Internet usando protocolos IP en lugar de circuitos telefónicos tradicionales. También describe los protocolos clave como RTP que permiten la transmisión de voz en tiempo real a través de redes IP y las ventajas de costos de VoIP sobre la telefonía convencional.
Angular Optimization Web Performance MeetupDavid Barreto
This document summarizes techniques for optimizing Angular applications, including ahead-of-time compilation, lazy loading, change detection strategies, avoiding memory leaks, and server-side rendering. It provides code examples and compares the performance of different approaches by measuring load times. The main takeaways are that ahead-of-time compilation, lazy loading, and server-side rendering can each significantly improve load performance, and that change detection strategies and unsubscribing from observables are important for memory usage and efficiency.
This document summarizes techniques for optimizing Angular application performance, including ahead of time compilation, lazy loading, change detection strategies, avoiding memory leaks, and server side rendering. It provides code examples and compares boot times between different configurations. The techniques can improve first meaningful paint time by up to 86% compared to the default configuration.
Este documento presenta los principios del Manifiesto Ágil para el Desarrollo de Software. Valora a los individuos e interacciones sobre procesos y herramientas, software funcionando sobre documentación extensiva, y colaboración con el cliente sobre negociación contractual. Sus principales prioridades son satisfacer al cliente mediante la entrega temprana y continua de software con valor, aceptar cambios en los requisitos, y entregar software funcional frecuentemente.
Presentación utilizada para explicar los principios ágiles del Manifiesto Agil durante la reunión del grupo local de Agile Spain en Madrid el 1/dic/2009
The scrum process document outlines the key aspects of running a scrum project. It includes preparation steps like establishing a business case and assembling a team. It then describes the sprint planning meeting where the product backlog is reviewed and the sprint backlog is created. Each sprint involves daily stand up meetings and culminates in a sprint review and retrospective. The goal is to deliver working software increments in short iterations through an adaptive, flexible process.
Primeros Pasos Aplicacion Java conexión BD MysqlEmerson Garay
Este documento presenta información sobre interfaz gráfica de usuario (GUI) en Java utilizando la biblioteca Swing. Explica componentes GUI como JLabel, JTextField y JButton. También describe layouts como GridLayout y BorderLayout. Luego, presenta SQL para crear una base de datos y tabla de estudiantes.
Este documento proporciona recomendaciones para optimizar el rendimiento de aplicaciones Genexus en la plataforma .NET. Recomienda usar aislamiento de snapshot en la base de datos para mejorar el rendimiento de las transacciones concurrentes, particionar tablas grandes para mejor aprovechar múltiples procesadores y particionar funciones para agrupar datos relacionados. También recomienda usar AppFabric para almacenar en caché datos, sesiones y estado entre instancias de aplicaciones para lograr escalabilidad horizontal de manera fácil
Este documento proporciona recomendaciones para optimizar el rendimiento de aplicaciones Genexus en la plataforma .NET. Recomienda usar aislamiento de snapshot en la base de datos para mejorar el rendimiento de las transacciones concurrentes, particionar tablas grandes para mejor aprovechar múltiples procesadores y particionar funciones para distribuir datos. También recomienda usar AppFabric para almacenar en caché datos, sesiones y estado entre instancias de aplicaciones para lograr escalabilidad horizontal de manera fácil.
Este documento presenta 20 consejos y trucos para mejorar el rendimiento y la seguridad de MySQL. Algunos de los consejos incluyen la configuración de cuotas de usuario, el uso de UTF-8, la importación y exportación de CSV, la elección adecuada del motor de almacenamiento y la investigación de los diferentes tipos de datos disponibles. El documento también cubre temas avanzados como subconsultas, procedimientos almacenados, gestores y disparadores.
Este documento describe la segunda edición de un curso avanzado de programación en Visual Basic. Incluye capítulos sobre controles intrínsecos y extrínsecos, manejo de bases de datos, consultas SQL, diseño de interfaz gráfica de usuario e incluye nuevos temas como manipulación de registros, sonidos y optimización de la programación. El autor explica que el curso mantiene los temas anteriores pero con ampliación de información y nuevos ejemplos para llevar al estudiante a un nivel más avanzado en el diseño de aplic
Este documento presenta una revisión de la segunda edición del curso "Programando en serio con Visual Basic". El curso incluye nuevos temas como la manipulación de registros y campos de una base de datos, consultas SQL, y el diseño de la interfaz gráfica de usuario. El curso conserva los temas anteriores pero con ampliación de información y nuevos ejemplos.
Este documento describe la segunda edición de un curso avanzado de programación en Visual Basic. Incluye capítulos sobre controles intrínsecos y extrínsecos, manejo de bases de datos, consultas SQL, diseño de interfaz gráfica de usuario e incluye nuevos temas como manipulación de registros, sonidos y optimización de la programación. El autor explica que el curso mantiene los temas anteriores pero con ampliación de información y nuevos ejemplos para llevar al estudiante a un nivel más avanzado en el diseño de aplic
SQL es un lenguaje de programación para trabajar con bases de datos relacionales como MySQL y Oracle. MySQL es un servidor de base de datos que permite crear, modificar y eliminar bases de datos y tablas, e insertar, consultar y ordenar datos. Se comunica con el servidor MySQL a través de instrucciones SQL introducidas en la línea de comandos o en un lenguaje como PHP.
El documento presenta una introducción a los conceptos básicos de programación como lógica de programación, elección de lenguaje, variables, estructuras de decisión e iteración. Explica las diferencias sintácticas entre C# y VB.NET en estos temas fundamentales.
Este documento introduce los conceptos básicos de programación orientada a objetos en los lenguajes C# y Visual Basic.NET. Explica las similitudes y diferencias en la sintaxis y semántica de ambos lenguajes, cubriendo temas como declaración de variables, tipos de datos, clases, métodos, y estructuras de control. También describe los compiladores de línea de comandos para cada lenguaje.
Este documento introduce los conceptos básicos de programación orientada a objetos en los lenguajes C# y Visual Basic.NET. Explica las similitudes y diferencias en la sintaxis y semántica de ambos lenguajes, cubriendo temas como declaración de variables, tipos de datos, clases, métodos, y estructuras de control. También describe los compiladores de línea de comandos para cada lenguaje.
Este documento introduce los conceptos básicos de programación orientada a objetos en los lenguajes C# y Visual Basic.NET. Explica las similitudes y diferencias en la sintaxis de ambos lenguajes, incluyendo declaración de variables, tipos de datos, operadores, estructuras de control, clases y métodos. También cubre temas como compiladores, alcance, conversiones de tipos, arreglos y entry points.
Este documento introduce los conceptos básicos de programación orientada a objetos en los lenguajes C# y Visual Basic.NET. Explica las similitudes y diferencias en la sintaxis de ambos lenguajes, incluyendo la declaración de variables, tipos de datos, operadores, estructuras de control, clases y métodos. También cubre temas como compiladores, alcance, conversiones de tipos, arreglos y el punto de entrada de una aplicación.
Este documento explica cómo crear funciones en PostgreSQL. Indica que las funciones permiten extender el lenguaje SQL mediante segmentos de código para procesar datos. Explica la sintaxis básica para crear funciones y varios ejemplos como crear funciones para sumar números, crear y modificar tablas, y consultar datos.
Dominando las funciones de ventana (window functions) en TSQLSpanishPASSVC
Las funciones de ventana (TSQL window functions), originalmente presentadas en SQL Server han probado ser muy útiles para resolver escenarios complejos de clasificación/ordenamiento y agregación. Las mejoras que nos trae SQL Server 2012 hace imperativo conocer su funcionamiento y aplicación. En esta sesión discutiremos sus componentes principales y como utilizar las mismas tomando como ejemplos situaciones de la vida real.
Este documento presenta un manual práctico de SQL orientado a SQL 7.0. Explica los pasos para implementar una base de datos, incluyendo la creación de una base de datos, tablas, ligaduras, consultas simples y a múltiples tablas. También cubre temas como sentencias SELECT, ORDER BY, JOIN, y resúmenes. El manual proporciona ejemplos detallados de sintaxis SQL para cada uno de estos conceptos.
Este documento describe un marco para el registro y auditoría de paquetes SSIS. Propone almacenar detalles de ejecuciones de paquetes, errores, orígenes y destinos de datos, e historial de cambios en tablas de base de datos. Esto permitiría auditar procesos ETL, identificar errores, y rastrear datos desde su origen hasta el destino.
Este documento describe cómo crear un generador de código utilizando plantillas de texto (T4) en Visual Studio. Explica cómo agregar una nueva plantilla de T4 a un proyecto, incluir código .NET en la plantilla para recuperar metadatos de una base de datos, y usar bloques de código e instrucciones para generar dinámicamente un procedimiento almacenado DELETE basado en la tabla objetivo. El generador creado puede usarse para automatizar la generación de código CRUD.
El documento describe lo que es un algoritmo, indicando que es una serie de pasos organizados para dar solución a un problema específico. Menciona que los algoritmos pueden expresarse de diferentes maneras como lenguaje natural, pseudocódigo o diagramas de flujo.
Ingeniería en Telemática y ejercicios.pdfCamila301231
La ingeniería de telemática se encarga de satisfacer todas las necesidades de los usuarios, lo que incluye la creación de aplicaciones mediante el uso de software avanzado para que todos puedan enviar y recibir mensajes.
UiPath and Dream to Succeed Student Account SessionDianaGray10
In this session, the UiPath and Dream to Succeed program teams will work with students to get them set-up on accounts needed to participate in the 2024 UiPath and Dream to Succeed RPA Learning Program.
Topics covered:
Student welcome
Review of account settings
Student's set-up of accounts
Presentación realizada en el #Collabdays #Madrid 2024 donde traté las funcionalidades de Gobierno que incorpora ShrePoint Premium para facilitar la adopción de Copilot para Microsoft 365: Controles de Acceso Restringido | Acceso Condicional Granular | Bloqueo de descarga de archivos | Gestión del Ciclo de Vida de Sitios | Acciones recientes en Sitios de SharePoint | Informe de cambios
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxpauca1501alvar
Explica cómo las tecnologías digitales han facilitado e impulsado la globalización al eliminar barreras geográficas y permitir un flujo global sin precedentes de información, bienes, servicios y capital. Se describen los impactos de las herramientas digitales en áreas como la comunicación global, el comercio electrónico internacional, las finanzas y la difusión cultural. Además, se mencionan los beneficios como el crecimiento económico y el acceso a la información, así como los desafíos como la desigualdad y el impacto ambiental. Se concluye que la globalización y las herramientas digitales se refuerzan mutuamente, promoviendo una creciente interdependencia mundial.
2. 208/03/15
Ing. David Barreto Llano (david-barreto.com)
Características del Lenguaje
Lenguaje de programación orientado a datos
Basado en la detección de patrones en los datos por medio
de expresiones regulares
Es un lenguaje muy simple que no permite la creación de
clases u objetos
Solo implementa variables, arreglos asociativos y
estructuras de control
Ideal para el procesamiento de logs
Liviano, rápido e integrado con el shell de Linux
Tiene un set limitado de funciones predefinidas
3. 308/03/15
Ing. David Barreto Llano (david-barreto.com)
Historia de AWK
AWK fue Creado en 1977 en “AT&T Bell Laboratories”
El nombre del lenguaje son las siglas de los apellidos de sus
creadores: Aho, Weinberger y Kernighan
En 1985 se crea una nueva versión del lenguaje y se bautiza
como NAWK (New AWK)
Entre 1986 y 1989, un equipo de voluntarios, con ayuda de
Richard Stallman (fundador del movimiento del software libre)
crea una versión libre de NAWK pero más potente y es
llamado GAWK (GNU AWK)
4. 408/03/15
Ing. David Barreto Llano (david-barreto.com)
Las diferentes versiones de AWK
Algunos sistemas mantienen AWK y NAWK como programas
independientes
Algunos sistemas han renombrado AWK como OAWK (Old
AWK) e internamente redireccionan AWK hacia NAWK o
hacia GAWK
Algunos sistemas mantiene de forma independiente todas las
versiones del lenguaje: AWK, NAWK y GAWK
El sistema operativo Canaima trae la versión AWK
redireccionado a NAWK. Canaima no trae de forma nativa
GAWK
Para instalar GAWK en Canaima: sudo apt-get install gawk
Para instalar GAWK en Windows: (Google) GAWK for Widows
6. 608/03/15
Ing. David Barreto Llano (david-barreto.com)
Estructura Básica
Un programa AWK consta de un conjunto de reglas, que
buscan patrones sobre los archivos de entrada y ejecuta
acciones si encuentra una coincidencia
$1 == "abc" || $2 > 30 {
suma = $1+$2+5
print(suma)
}
Patrón
Regla
Acción
7. 708/03/15
Ing. David Barreto Llano (david-barreto.com)
Estructura Básica
Los campos de cada entrada se acceden usando números
precedidos por el símbolo de dólar
$1 = Accede al primer campo de la entrada
$2 = Accede al segundo campo de la entrada
$N = Accede al enésimo campo de la entrada (N={1,2,3,..})
$0 = Accede a toda la entrada
Si se trata de acceder a un campo inexistente AWK retorna
un string vacío
8. 808/03/15
Ing. David Barreto Llano (david-barreto.com)
Estructura Básica
Existen reglas especiales que se ejecutan una sola vez al
inicio (BEGIN) y al final (END)
Si se omite el patrón de una regla, la acción se ejecuta
siempre para todas las entradas
Si se omite la acción, no se realiza ninguna operación
Las reglas se ejecutan en el mismo orden en que son
definidas
9. 908/03/15
Ing. David Barreto Llano (david-barreto.com)
Estructura Básica
Los campos de cada entrada se acceden usando números
precedidos por el símbolo de dólar
$1 = Accede al primer campo de la entrada
$2 = Accede al segundo campo de la entrada
$N = Accede al enésimo campo de la entrada (N={1,2,3,..})
$0 = Accede a toda la entrada
Si se trata de acceder a un campo inexistente AWK retorna
un string vacío
10. 1008/03/15
Ing. David Barreto Llano (david-barreto.com)
Ejemplos de Uso
$2 == "Oriente" {
print($1)
}
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
Albany
$2 == "Caracas" {
print($1)
}
$1 == "Gabriela" {
print($2)
}
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
David
Occidente
BEGIN { print("Inicio") }
{ print($2) }
END { print("Fin") }
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
Inicio
Caracas
Occidente
Centro
Oriente
Fin
11. 1108/03/15
Ing. David Barreto Llano (david-barreto.com)
Ejecutar BEGIN
Leer próxima entrada
Validar el patrón en la entrada ¿Hay coincidencia?
¿Fin del archivo?
Ejecutar END
Ejecutar acción
Algoritmo de ejecución de AWK (resumen)
NO
NO
SI
SI
12. 1208/03/15
Ing. David Barreto Llano (david-barreto.com)
Formas de Ejecutar de AWK
Desde la línea de comandos
gawk '{ print($1) }' optimizacion_v2.txt
Desde la linea de comandos usado como parte de un “pipe” del
shell
cat optimizacion_v2.txt | gawk '{ print($1) }'
Desde un archivo
gawk -f procesador.awk optimizacion_v2.txt
gawk -f procesador.awk optimizacion_v2.txt > resultado.txt
13. 1308/03/15
Ing. David Barreto Llano (david-barreto.com)
David Barreto, (0416) 629-0508, Caracas
David Mercado, (0416) 613-4416, Oriente
Jerald Almeida, (0212) 705-7456, Caracas
Víctor Prieto, (0426) 896-7706, Centro
optimizacion_v1.txt
procesador.awk
{ print($1) }
{ print($1, $4) }
BEGIN {
FS = ","
}
{ print($1, $3) }
BEGIN {
FS = ","
OFS = ";"
}
{ print($1, $3) }
BEGIN {
FS = ","
OFS = ";"
}
$3 == "Caracas" {
print($1, $3)
}
BEGIN {
FS = ","
OFS = ";"
}
$3 == " Caracas" {
print($1, $3)
}
BEGIN {
FS = ", "
OFS = ";"
}
$3 == "Caracas" {
print($1, $3)
}
BEGIN {
FS = ", "
OFS = ";"
}
$1 ~ /David/ {
print("David de " $3)
}
gawk -f procesador.awk optimizacion_v1.txt
¿Qué resultado genera cada
uno de estas variantes del
archivo "procesador.awk"?
14. 1408/03/15
Ing. David Barreto Llano (david-barreto.com)
Comentarios en el Código
Los comentarios son líneas de texto dentro del código que
son ignoradas por el interpretador
Funcionan como referencias documentales para el
programador
En AWK los comentarios se inician con el símbolo "#"
No existe un símbolo de comentario multilínea
# Compara el campo 1 con el valor 5
# e indica si hay match
$1 == 5 {
print("match!") # Texto de referencia
}
15. 1508/03/15
Ing. David Barreto Llano (david-barreto.com)
Función interna del lenguaje "print"
Imprime resultados en la consola o en un archivo de salida e
inserta un salto de línea (n) al final
{ print($1) }
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
David
Gabriela
Jonathan
Albany{ print $1 }
{ print($1, $2) }
{ print("Hola " $1) }
Hola David
Hola Gabriela
Hola Jonathan
Hola Albany
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
optimizacion_v2.txt
16. 1608/03/15
Ing. David Barreto Llano (david-barreto.com)
Estructuras de control
Estructura if-else
Estructura for
if(power > 15) {
print("BTS de alta potencia")
} else {
print("BTS de baja potencia")
}
for(i=0; i<5; i++) {
print(i)
}
17. 1708/03/15
Ing. David Barreto Llano (david-barreto.com)
Arreglos
AWK tiene un manejo muy básico de los arreglos
En AWK todos los arreglos son asociativos
No hay forma de inicializar un arreglo con valores
celdas[88] = "Catia"
celdas[140] = "Altamira"
celdas["23"] = "San Martín"
celdas["Modcell"] = 1
#Esto no es válido...
frutas = ["fresa", "mora", "piña"]
#Esto si es válido...
frutas[0] = "fresa"
frutas[1] = "mora"
frutas[2] = "piña"
18. 1808/03/15
Ing. David Barreto Llano (david-barreto.com)
Arreglos
Operaciones básicas
Buscar un índice dentro de un arreglo
#Asignación de valores a un arreglo
capitales["Venezuela"] = "Caracas"
capitales["Colombia"] = "Bogotá"
#Lectura de valores de un arreglo
print(capitales["Venezuela"])
#Eliminación de valores de un arreglo
delete capitales["Venezuela"]
if("Colombia" in capitales) {
print("Colombia es un índice del arreglo")
} else {
print("Colombia no es un índice del arreglo")
}
19. 1908/03/15
Ing. David Barreto Llano (david-barreto.com)
Arreglos
Recorrer todos los elementos de un arreglo
Buscar un valor dentro de un arreglo
for(i in capitales) {
print(capitales[i])
}
found = 0
for(capital in capitales) {
if(capitales[capital] == "Caracas") {
found = 1
break
}
}
if(found) {
print("Caracas es un valor del arreglo")
}
20. 2008/03/15
Ing. David Barreto Llano (david-barreto.com)
Arreglos: Consideraciones Especiales
Para emular una inicialización de un arreglo en una sola
línea, se debe hacer uso de la función split
Cuando se hace referencia a un elemento del arreglo que no
existe, AWK automáticamente le asigna el valor del string
vacío
split("fresa mora piña", frutas, " ")
capitales["Venezuela"] = "Caracas"
capitales["Colombia"] = "Bogotá"
#En otros lenguajes esto daría un error
cap_ecuador = capitales["Ecuador"] #cap_ecuador == ""
21. 2108/03/15
Ing. David Barreto Llano (david-barreto.com)
Función interna del lenguaje "printf"
Similar a print pero permite un mayor control del formato
No inserta de forma automática un salto de línea al final
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
{ printf("%s pertenece a %sn", $1, $2) }
David pertenece a Caracas
Gabriela pertenece a Occidente
Jonathan pertenece a Centro
Albany pertenece a Oriente
22. 2208/03/15
Ing. David Barreto Llano (david-barreto.com)
Letras de control de formato
%i, %d: Imprime números enteros (integers)
%s: Imprime cadenas de texto (strings)
%f: Imprime valores de punto flotante (floats)
awk 'BEGIN{printf("%i %s tienen %f bolívaresn",5,"personas",2500)}'
5 personas tienen 2500.000000 bolívares
23. 2308/03/15
Ing. David Barreto Llano (david-barreto.com)
Modificadores del formato
Posición (N$): Permite usar variables por posición
Precisión (.N): Indica la cantidad de decimales para imprimir
gawk 'BEGIN{printf("%1$s: CELL %1$s; SECTOR %2$in", "00981", 2)}'
00981: CELL 00981; SECTOR 2
gawk 'BEGIN{printf("En la cuenta hay %.2f bolívaresn", 7800)}'
En la cuenta hay 7800.00 bolívares
24. 2408/03/15
Ing. David Barreto Llano (david-barreto.com)
Redireccionamiento de la Salida
Por default, la salida de AWK (print, printf) va directamente a
la consola
El redireccionamiento de la salida se puede definir desde el
comando de invocación o dentro del propio código
awk 'BEGIN{print("hola")}' > salida.txt
BEGIN {
print("hola") > "salida.txt"
}
25. 2508/03/15
Ing. David Barreto Llano (david-barreto.com)
Redireccionamiento de la Salida
Dentro del código, existen dos formas de redireccionamiento:
borrar y agregar (>) o solo agregar (>>)
#Si salida.txt no existe, AWK lo crea automáticamente
BEGIN {
print("hola") > "salida.txt" #Borra el contenido primero
print("chao") > "salida.txt" #Agrega la información
}
#Si salida.txt no existe, AWK lo crea automáticamente
BEGIN {
print("hola") >> "salida.txt" #Agrega la información
print("chao") >> "salida.txt" #Agrega la información
}
26. 2608/03/15
Ing. David Barreto Llano (david-barreto.com)
Variables Predefinidas
FS (Field Separator): Separador de campo de entrada
OFS (Output Field Separator): Separador de campo de salida
RS (Record Separator): Separador de fila de entrada
ORS (Output Record Separator): Separador de fila de salida
NF (Number of Fields): Cantidad de campos de la fila actual
NR (Number of Records): Cantidad de filas del archivo
FNR (actual Record Number): Número de la fila actual
27. 2708/03/15
Ing. David Barreto Llano (david-barreto.com)
FS: Separador de Campo de Entrada
Define el caracter o conjunto de caracteres que serán usados
para la separación de los campos de una "entrada"
BEGIN {
FS = ";"
}
{ print($2) }
David; Caracas
Gabriela; Occidente
Jonathan; Centro
Albany; Oriente
Caracas
Occidente
Centro
Oriente
BEGIN {
FS = "..."
}
{ print($2) }
David...Caracas
Gabriela...Occidente
Jonathan...Centro
Albany...Oriente
Caracas
Occidente
Centro
Oriente
optimizacion_v2.txt
28. 2808/03/15
Ing. David Barreto Llano (david-barreto.com)
FS: Separador de Campo de Entrada
Su valor por defecto es el caracter vacío (" "). Este es un
caso especial que incluye cualquier cantidad de espacios
consecutivos o tabulaciones (t)
Ignora los espacios en blanco al inicio o al final de la entrada
{ print($2) }
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
Caracas
Occidente
Centro
Oriente
{ print($2) }
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
Caracas
Occidente
Centro
Oriente
29. 2908/03/15
Ing. David Barreto Llano (david-barreto.com)
FS: Separador de Campo de Entrada
El separador de campo puede ser definido como una
expresión regular
BEGIN {
FS = "--[abcd]--"
}
{ print($2) }
David--a--Caracas
Gabriela--b--Occidente
Jonathan--c--Centro
Albany--d--Oriente
Caracas
Occidente
Centro
Oriente
BEGIN {
FS = "(=)+"
}
{ print($2) }
David======Caracas
Gabriela===Occidente
Jonathan===Centro
Albany=====Oriente
Caracas
Occidente
Centro
Oriente
30. 3008/03/15
Ing. David Barreto Llano (david-barreto.com)
FS: Separador de Campo de Entrada
Si se usa el string vacío ("") como separador de campo, cada
caracter de la entrada se convierte en un campo
independiente
BEGIN {
FS = ""
}
{ print($2) }
David; Caracas
Gabriela; Occidente
Jonathan; Centro
Albany; Oriente
a
a
o
l
31. 3108/03/15
Ing. David Barreto Llano (david-barreto.com)
OFS: Separador de Campo de Salida
Define el o los caracteres de separación de los campos, al
momento de "imprimir" resultados en la consola o en un
archivo de texto
BEGIN {
FS = "--"
OFS = "; "
}
{ print($1, $2) }
David--Caracas
Gabriela--Occidente
Jonathan--Centro
Albany --Oriente
David; Caracas
Gabriela; Occidente
Jonathan; Centro
Albany; Oriente
BEGIN {
FS = "--"
OFS = "; "
}
{
$1 = $1
print($0)
}
David--Caracas
Gabriela--Occidente
Jonathan--Centro
Albany --Oriente
David; Caracas
Gabriela; Occidente
Jonathan; Centro
Albany; Oriente
32. 3208/03/15
Ing. David Barreto Llano (david-barreto.com)
NF: Número de campos de la entrada
El campo NF es una variable propia del lenguaje que nos
informa cuantos campos hay por entrada
Se define automáticamente para cada entrada procesada
Es usado para acceder al último (penúltimo, antepenúltimo,
etc.) elemento de una entrada
{ print(NF) }
a b c d
x y
3 2 5
4
2
3
{ print($NF) }
a b c d
x y
3 2 5
d
y
5
{ print($(NF-1)) }
a b c d
x y
3 2 5
c
x
2
random_v1.txt
33. 3308/03/15
Ing. David Barreto Llano (david-barreto.com)
El Campo $0: Impresión con separador
Cuando se imprime el campo $0, se imprime la entrada
completa igual a como aparece en la fuente
Para imprimir la entrada con el nuevo caracter se separación
(OFS), se debe primero realizar una asignación "dummy"
BEGIN {
OFS = ", "
}
{ print($0) }
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
BEGIN {
OFS = ", "
}
{
$1 = $1
print($0)
}
David Caracas
Gabriela Occidente
Jonathan Centro
Albany Oriente
David, Caracas
Gabriela, Occidente
Jonathan, Centro
Albany, Oriente
34. 3408/03/15
Ing. David Barreto Llano (david-barreto.com)
Valores Booleanos
AWK no implementa las constantes True o False como la
mayoría de los lenguajes para definir valores booleanos
En su lugar, AWK toma el valor 0 y el string vacío como
False y cualquier otro valor como True
Las expresiones lógicas en AWK retornan 1 (True) ó 0 (False)
if(5 == 5) # 1 (True)
if("Juan") # 1 (True)
if(34567) # 1 (True)
if(0) # 0 (False)
if("") # 0 (False)
37. 3708/03/15
Ing. David Barreto Llano (david-barreto.com)
Expresiones Regulares
Una expresión regular es un conjunto de símbolos que
permiten realizar una búsqueda por patrones de texto
Las expresiones regulares usualmente están demarcadas
entre símbolos de slash (/)
/uan/
El operador de coincidencia es el símbolo ~
$1 ~ /uan/ { … }
Se puede aplicar el operador de negación sobre el operador
de coincidencia !~
$1 !~ /uan/ { … }
AWK permite usar expresiones regulares para definir
variables del lenguaje como FS y RS
38. 3808/03/15
Ing. David Barreto Llano (david-barreto.com)
Ejemplos de Expresiones Regulares
Buscar las palabras que contengan la secuencia "in"
Buscar las palabras que empiecen por "L"
Liso
Lino
Pino
limón
512
$1 ~ /in/ {
print($1)
}
Lino
Pino
Liso
Lino
Pino
limón
512
$1 ~ /^L/ {
print($1)
}
Liso
Lino
random_v2.txt
39. 3908/03/15
Ing. David Barreto Llano (david-barreto.com)
Ejemplos de Expresiones Regulares
Buscar las palabras que empiecen por "L" o "l"
Buscar las palabras que terminen con "no"
Liso
Lino
Pino
limón
512
$1 ~ /^[Ll]/ {
print($1)
}
Liso
Lino
limón
Liso
Lino
Pino
limón
512
$1 ~ /no$/ {
print($1)
}
Lino
Pino
40. 4008/03/15
Ing. David Barreto Llano (david-barreto.com)
Expresiones Regulares
Buscar las "palabras" que consten exclusivamente de números
Buscar las palabras contengan una secuencia que inicia con "i",
seguida de cualquier letra, seguida de la letra "o"
Liso
Lino
Pino
limón
512
$1 ~ /^[0-9]$/ {
print($1)
}
512
Liso
Lino
Pino
limón
512
$1 ~ /i.o/ {
print($1)
}
Liso
Lino
Pino
41. 4108/03/15
Ing. David Barreto Llano (david-barreto.com)
Expresiones Regulares
Buscar las "palabras" que contengan una secuencia que inicie
con 1 y tenga al menos un 8 a continuación
Buscar las "palabras" que contengan una secuencia que inicie
con 1 y tenga cero, uno o varios 8 a continuación
189
21889
2198
8888
1982
$1 ~ /1(8)+/ {
print($1)
}
189
21889
189
21889
2198
8888
1982
$1 ~ /1(8)*/ {
print($1)
}
189
21889
2198
1982
42. 4208/03/15
Ing. David Barreto Llano (david-barreto.com)
Expresiones Regulares
Buscar las "palabras" que contengan una secuencia que inicie
con 1 y tenga al menos dos 8 a continuación
Buscar las "palabras" que contengan una secuencia que tenga
entre 2 y 4 números ocho consecutivos
189
21889
2198
8888
1982
$1 ~ /1(8){2,}/ {
print($1)
}
21889
189
21889
2198
8888
1982
$1 ~ /(8){2,4}/ {
print($1)
}
21889
8888
43. 4308/03/15
Ing. David Barreto Llano (david-barreto.com)
Funciones
Las funciones son bloques de código reutilizables
function comando_btseqp(bts, potencia) {
printf("BTS: %s - Power: %0.f", bts, potencia)
}
$2 == 507 {
comando_btseqp($1, $3)
}
44. 4408/03/15
Ing. David Barreto Llano (david-barreto.com)
Funciones
Las funciones en AWK pueden definirse en cualquier parte
del código fuente
Si se invoca una función sin definir uno o más parámetros,
estos adquieren automáticamente el valor del string vacío
Dentro de una función no es posible definir variables locales.
Para ello, se definene parámetros para los cuales nunca se le
asignan argumentos
function comando(bts, potencia, i) {
i = 3
printf("%i) BTS: %s - Power: %0.f", i, bts, potencia)
}
2 == 507 {
i = 2
comando_btseqp($1, $3)
print(i)
}