Buen libro.
Daniel a- Libros y videos
- Programación shell en Unix/Linux - ksh, bash, estándar POSIX (con ejercicios corregidos) (5ª edición)
Programación shell en Unix/Linux ksh, bash, estándar POSIX (con ejercicios corregidos) (5ª edición)
1 opinión
Este libro sobre la programación shell se dirige a los usuarios y administradores de sistemas Unix/Linux, que deseen formarse en la escritura de scripts shell. Se detallan las funcionalidades de los shells ksh 88, ksh93 y bash y cuando sea necesario, se especifica el cumplimiento del estándar POSIX. Se utiliza el mismo criterio para la compatibilidad con el histórico shell Bourne. Los temas se presentan de forma progresiva y pedagógica, lo que hace que este libro sea un soporte ideal destinado...
Consultar extractos del libro
Extracto del libro
- Nivel Medio a Experto
- Número de páginas 553 páginas
- Publicación junio 2023
- Nivel Medio a Experto
- Publicación junio 2023
Este libro sobre la programación shell se dirige a los usuarios y administradores de sistemas Unix/Linux, que deseen formarse en la escritura de scripts shell. Se detallan las funcionalidades de los shells ksh 88, ksh93 y bash y cuando sea necesario, se especifica el cumplimiento del estándar POSIX. Se utiliza el mismo criterio para la compatibilidad con el histórico shell Bourne. Los temas se presentan de forma progresiva y pedagógica, lo que hace que este libro sea un soporte ideal destinado tanto a la formación profesional como a la autoformación.
Los primeros capítulos se dedican al funcionamiento del shell: ejecución de un comando, caracteres especiales del shell empleados con frecuencia (redirecciones, pipes, etc.), configuración del entorno de trabajo del usuario (variables y archivos de entorno, etc.).
El libro continúa con la programación propiamente dicha. Se presentan los aspectos básicos de la programación (variables, estructuras de control, comandos de prueba y de cálculo, etc.) y se ilustran con muchos ejemplos. Posteriormente, se detallan los aspectos avanzados de la programación shell (gestión de archivos, funciones, etc.). Se explican en detalle los mecanismos internos del shell y se ilustran con numerosos esquemas.
La última parte del libro se dedica a las herramientas complementarias indispensables para el tratamiento de cadenas de caracteres y archivos de texto: las expresiones regulares básicas y extendidas, el editor no interactivo sed, una visión extendida del lenguaje awk rico en funcionalidades gawk, al igual que los principales comandos de filtro de los sistemas Unix. El capítulo Como hacer... resume las problemáticas principales y presenta diferentes métodos de resolución.
Los ejercicios permitirán al lector practicar la escritura de scripts shells a lo largo del libro. Las soluciones se presentan en el último capítulo.
Los ejemplos de los scripts presentados en el libro, al igual que los scripts de solución a los ejercicios, se pueden descargar desde el sitio web www.ediciones-eni.com.
Los primeros capítulos se dedican al funcionamiento del shell: ejecución de un comando, caracteres especiales del shell empleados con frecuencia (redirecciones, pipes, etc.), configuración del entorno de trabajo del usuario (variables y archivos de entorno, etc.).
El libro continúa con la programación propiamente dicha. Se presentan los aspectos básicos de la programación (variables, estructuras de control, comandos de prueba y de cálculo, etc.) y se ilustran con muchos ejemplos. Posteriormente, se detallan los aspectos avanzados de la programación shell (gestión de archivos, funciones, etc.). Se explican en detalle los mecanismos internos del shell y se ilustran con numerosos esquemas.
La última parte del libro se dedica a las herramientas complementarias indispensables para el tratamiento de cadenas de caracteres y archivos de texto: las expresiones regulares básicas y extendidas, el editor no interactivo sed, una visión extendida del lenguaje awk rico en funcionalidades gawk, al igual que los principales comandos de filtro de los sistemas Unix. El capítulo Como hacer... resume las problemáticas principales y presenta diferentes métodos de resolución.
Los ejercicios permitirán al lector practicar la escritura de scripts shells a lo largo del libro. Las soluciones se presentan en el último capítulo.
Los ejemplos de los scripts presentados en el libro, al igual que los scripts de solución a los ejercicios, se pueden descargar desde el sitio web www.ediciones-eni.com.
Descargas
Prólogo
- Prológo
Introducción
- Definición del shell
- Características de un intérprete de comandos
- Intérpretes de comando (shells)
- 1. Historia
- 2. ¿Con qué shell hay que programar?
- 3. Nombre de los ejecutablesa invocar
- Shells tratados en este libro
Mecanismos esenciales del shell
- Presentación
- Comandos internos y externos
- 1. Comandos externos
- 2. Comandos internos
- 3. Implementación interna e implementaciónexterna
- Impresión por pantalla
- 1. El comando echo
- a. El carácter "\n"
- b. El carácter "\c"
- c. El carácter "\t"
- 2. Los comandos print y printf
- 1. El comando echo
- El carácter ~ (tilde)
- El comando interno cd
- Sustitución de nombres de archivos
- 1. Expresiones básicas
- a. El carácter *
- b. El carácter ?
- c. Los caracteres [ ]
- 2. Expresiones extendidas
- a. ?(expresión)
- b. *(expresión)
- c. +(expresión)
- d. @(expresión)
- e. !(expresión)
- f. Alternativas
- 3. Interpretación del shell
- 1. Expresiones básicas
- Separador de comandos
- Redirecciones
- 1. Entrada y salidas estándar de los procesos
- a. Entrada estándar
- b. Salida estándar
- c. Salida de error estándar
- 2. Herencia
- 3. Redirección de las salidas en escritura
- a. Salida estándar
- b. Salida de error estándar
- c. Salida estándar y salida de error estándar
- d. Protección ante borrado involuntario de unarchivo
- e. Eliminar las impresiones por pantalla
- f. Mecanismo interno
- 4. Redirección de la entrada estándar
- 5. Redirigir los descriptores 1 y 2 hacia el mismo archivo
- 6. La redirección doble en lectura
- 7. Cierre de un descriptor
- 1. Entrada y salidas estándar de los procesos
- Tuberías de comunicación
- 1. Comandos que no leen su entrada estándar
- 2. Comandos que leen su entrada estándar
- a. Ejemplos triviales
- b. Caso de los filtros
- 3. Complementos
- a. Encadenar tuberías
- b. Duplicar las salidas
- c. Enviar la salida estándar y la salida deerror estándar por la tubería
- Agrupación de comandos
- 1. Paréntesis
- 2. Las llaves
- 3. Conclusión
- Procesos en segundo plano
- 1. Principios
- 2. Control de tareas (trabajos)
- Ejercicios
- 1. Funcionalidades varias
- a. Ejercicio 1: comandos internos y externos
- b. Ejercicio 2: generación de nombres de archivo
- c. Ejercicio 3: separador de comandos
- 2. Redirecciones
- a. Ejercicio 1
- b. Ejercicio 2
- c. Ejercicio 3
- d. Ejercicio 4
- e. Ejercicio 5
- f. Ejercicio 6
- 3. Tuberías de comunicación
- a. Ejercicio 1
- b. Ejercicio 2
- c. Ejercicio 3
- d. Ejercicio 4
- 1. Funcionalidades varias
Configuración del entorno de trabajo
- Presentación
- Variables de entorno
- 1. Listado de variables
- 2. Mostrar el valor de una variable
- 3. Modificación del valor de una variable
- 4. Variables principales
- a. HOME
- b. PATH
- c. PWD
- d. PS1
- e. PS2
- f. SHELL
- g. TMOUT
- h. TERM
- i. LOGNAME
- j. BASHOPTS
- k. Procesos y variables de entorno
- 5. Exportación de variables
- a. Listado de variables exportadas
- b. Variables que deben exportarse
- c. Exportar una variable
- Las opciones del shell
- 1. Activar y desactivar una opción del shell
- 2. Visualizar la lista de opciones
- 3. Opciones principales
- a. ignoreeof
- b. noclobber
- c. emacs y vi
- d. xtrace
- Los alias
- 1. Definir un alias
- 2. Visualizar la lista de alias
- a. Visualizar todos los alias
- b. Visualizar un alias en particular
- 3. Eliminar un alias
- Histórico de comandos
- 1. Configurar la recuperación de comandos enksh
- a. Opción vi
- b. Opción emacs
- 2. Configurar la recuperación de comandos enbash
- 3. Completar nombres de archivo
- a. Completar en bash
- b. Completar en ksh
- c. Tabla resumen
- 4. Otras formas de completar
- 1. Configurar la recuperación de comandos enksh
- Los archivos de entorno
- 1. Características de los archivos de entorno
- a. Shell de conexión
- b. Archivos de entorno leídos por el shell deconexión
- 2. Sesión utilizando un Korn Shell
- 3. Sesión utilizando un Bourne Again shell
- 4. Sesión que utiliza un Bourne shell
- 1. Características de los archivos de entorno
- Ejercicios
- 1. Variables de entorno
- a. Ejercicio 1
- b. Ejercicio 2
- 2. Alias de comandos
- a. Ejercicio 1
- b. Ejercicio 2
- 1. Variables de entorno
Las bases de la programación shell
- Presentación
- Las variables de usuario
- 1. Poner nombre a una variable
- 2. Definir una variable
- a. Asignar un valor a una variable
- b. Asignar un valor con al menos un espacio
- c. Variable indefinida
- d. Borrar la definición de una variable
- e. Aislar el nombre de una variable
- f. Variables numéricas
- g. Variables complejas
- h. Variables accesibles en modo solo lectura
- 3. Sustitución de variables
- Sustitución de comandos
- Caracteres de protección
- 1. Los apóstrofes (comillas simples)
- 2. El carácter \
- 3. Las comillas dobles
- Recapitulación de los caracteres especiales
- Interpretación de una línea de comandos
- Escritura y ejecución de un script en shell
- 1. Definición
- 2. Ejecución de un script por un shell hijo
- 3. Ejecución de un script por el shell actual
- 4. Comentarios
- Variables reservadas del shell
- 1. Los parámetros posicionales
- 2. El comando shift
- a. Sintaxis
- b. Principio
- 3. Código de retorno de un comando
- a. La variable $?
- b. El comando exit
- 4. Otras variables especiales
- a. PID del shell intérprete
- b. PID del último proceso ejecutado en segundoplano
- El comando read
- 1. Sintaxis
- 2. Lecturas del teclado
- 3. Código de retorno
- 4. La variable IFS
- Ejecución de verificaciones
- 1. Introducción
- 2. El comando [[ ]]
- a. Sintaxis
- b. Verificación de archivos
- c. Verificaciones sobre las cadenas de caracteres
- d. Verificaciones numéricas
- e. Los operadores
- f. Ejemplo concreto de uso
- 3. El comando [ ] (comando test)
- a. Sintaxis
- b. Verificaciones sobre archivos
- c. Verificaciones de cadenas de caracteres
- d. Verificaciones de números
- e. Los operadores lógicos
- f. Ejemplo concreto de uso
- Los operadores del shell
- 1. Evaluación del operador &&
- 2. Evaluación del operador ||
- 3. Invertir el código de retorno de un comando
- Aritmética
- 1. El comando (( ))
- a. Sintaxis
- b. Operadores
- 2. El comando let
- 3. El comando expr
- a. Sintaxis
- b. Operadores
- 1. El comando (( ))
- Sustitución de expresiones aritméticas
- Aritmética de punto flotante
- 1. ksh93
- 2. Otros shells
- Corrección de un script
- 1. Opción -x
- 2. Otras opciones
- Las estructuras de control
- 1. if
- 2. case
- a. Sintaxis
- b. Principio
- c. Uso
- 3. Buclefor
- a. Sintaxis clásica
- b. Otra sintaxis
- 4. Bucle while
- a. Sintaxis
- b. Uso
- c. Bucle infinito
- 5. until
- a. Sintaxis
- b. Uso
- 6. break y continue
- Ejercicios
- 1. Variables, caracteres especiales
- a. Ejercicio 1: variables
- b. Ejercicio 2: variables
- c. Ejercicio 3: sustitución de comando
- d. Ejercicio 4: caracteres de protección
- 2. Variables, visualización y lectura del teclado
- a. Ejercicio 1: variables
- b. Ejercicio 2: parámetros posicionales
- c. Ejercicio 3: lectura de teclado
- 3. Tests y aritmética
- a. Ejercicio 1: tests a los archivos
- b. Ejercicio 2: tests de cadenas de caracteres
- c. Ejercicio 3: tests numéricos
- d. Ejercicio 4: aritmética
- e. Ejercicio 5: operadores lógicos de los comandos [ ], [[ ]] yoperadores lógicos del shell
- 4. Estructuras de control if, case, bucle for
- a. Ejercicio 1: los comandos [ ] y [[ ]],la estructura de control if
- b. Ejercicio 2: estructura de control case, bucle for
- 5. Bucles
- a. Ejercicio 1: bucle for, comando tr
- b. Ejercicio 2: bucle for, aritmética
- c. Ejercicio 3: bucles for, while
- 1. Variables, caracteres especiales
Aspectos avanzados de la programación shell
- Presentación
- Comparación de las variables $* y $@
- 1. Utilización de $* y de $@ sincomillas
- 2. Uso de "$*" entre comillas
- 3. Uso de "$@" entre comillas
- Manipulación de variables
- 1. Longitud del valor contenido en una variable
- 2. Eliminar el fragmento al inicio de la cadena
- 3. Eliminar el fragmento más grande al iniciode la cadena
- 4. Eliminar el fragmento más pequeñoal final de la cadena
- 5. Eliminar el fragmento más grande al finalde la cadena
- Tablas con índices numéricos
- 1. Definición e inicialización de unatabla
- 2. Asignar un elemento de una tabla
- 3. Valor de un elemento
- 4. Referenciar todos los elementos de una tabla
- 5. Obtener el número de elementos de una tabla
- 6. Obtener la longitud de un elemento de una tabla
- 7. Recorrer una tabla con índice numérico
- Tablas asociativas
- 1. Definir e inicializar una tabla asociativa
- 2. Mostrar el valor asociado a una clave
- 3. Mostrar la lista de las claves
- 4. Mostrar la lista de valores
- 5. Bucle sobre una tabla asociativa
- Inicialización de parámetros posicionales con set
- Funciones
- 1. Definición de una función
- 2. Código de retorno de una función
- 3. Ámbito de las variables
- 4. Definición de variables locales
- 5. Paso de parámetros
- 6. Variable por referencia
- 7. Utilizar la salida de una función
- Comandos de salida
- 1. El comando print
- a. Uso simple
- b. Supresión del salto de línea naturalde print
- c. Mostrar argumentos que comienzan por el carácter"-"
- d. Escritura hacia un descriptor determinado
- 2. El comando printf
- 1. El comando print
- Gestión de entradas/salidas de un script
- 1. Redirección de entradas/salidasestándar
- 2. Gestión de archivos
- a. Descriptores de archivos
- b. Apertura de archivo
- c. Lectura a partir de un archivo abierto
- d. Escritura en un archivo abierto
- e. Cierre de un archivo
- 3. Tratamiento de un archivo
- a. Información previa
- b. Las diferentes formas de explotar un archivo
- c. Repartir una línea en campos
- d. Leer varias líneas con una llamada a read
- e. Modificar el separador de línea
- El comando eval
- Gestión de señales
- 1. Señales principales
- 2. Ignorar una señal
- 3. Modificar el comportamiento asociado a una señal
- 4. Restablecer el comportamiento por defecto del shellrespecto a una señal
- 5. Usar trap desde un script de shell
- Gestión de menús con select
- Análisis de las opciones de un script con getopts
- Gestión de un proceso en segundo plano
- Compatibilidad de un script entre bash y ksh
- 1. Recuperar el nombre del shell intérpretedel script
- 2. Gestión de las secuencias de escape con echo
- 3. Gestión de los caracteres extendidos
- 4. Script completo
- Script de archivado incremental y transferencia SFTP automática
- 1. Objetivo
- 2. El archivo uploadBackup.sh
- 3. El archivo funciones.inc.sh
- Ejercicios
- 1. Funciones
- a. Ejercicio 1: funciones simples
- b. Ejercicio 2: funciones simples, valor de retorno
- c. Ejercicio 3: paso de parámetros, retornode valor
- d. Ejercicio 4: archivos
- e. Ejercicio 5: archivos, funciones, menú select
- f. Ejercicio 6: archivos, tablas asociativas (bash 4,ksh93)
- 1. Funciones
Expresiones regulares
- Presentación
- Caracteres comunes en ERb y ERe
- Caracteres específicos de ERb
- Caracteres específicos de ERe
- Uso de expresiones regulares por comandos
- 1. El comando vi
- 2. El comando grep
- 3. El comando expr
- 4. sed y awk
- Ejercicios
- 1. Expresiones regulares
- a. Ejercicio 1: expresiones regulares con vi
- b. Ejercicio 2: grep
- 1. Expresiones regulares
El comando sed
- Presentación
- Uso del comando sed
- Ejemplos
- 1. Uso de sed en línea de comandos
- a. El comando d (delete)
- b. El comando p (print)
- c. El comando w (write)
- d. Negación de un comando (!)
- e. El comando s (sustitución)
- 2. Script sed
- 1. Uso de sed en línea de comandos
- Ejercicios
- 1. Expresiones regulares
- a. Ejercicio 1: inserción de marcadores en unarchivo
- b. Ejercicio 2: formato de archivos
- 1. Expresiones regulares
El lenguaje de programación awk
- Presentación
- 1. Sintaxis
- 2. Versión de gawk
- 3. Variables especiales
- a. Variables predefinidas a partir de la ejecuciónde awk
- b. Variables inicializadas en el momento del tratamientode una línea
- c. Ejemplos simples
- 4. Criterios de selección
- a. Expresiones regulares
- b. Verificaciones lógicas
- c. Intervalos de líneas
- 5. Estructura de un script awk
- a. BEGIN
- b. Secciones intermedias
- c. END
- d. Comentarios
- e. Variables
- f. Ejemplo
- Operadores
- La función printf
- Redirecciones
- Lectura de la línea siguiente: next
- Estructuras de control
- 1. if
- 2. switch
- 3. for
- 4. While
- 5. do-while
- 6. break
- 7. continue
- Finalizar un script
- Tablas
- 1. Tablas indexadas con un número
- 2. Tablas indexadas por una cadena de caracteres
- a. Verificar la existencia de un elemento
- 3. Eliminar un elemento
- 4. Número de elementos de una tabla
- 5. Orden de recorrido de los elementos
- 6. Probar una tabla
- Tablas multidimensionales
- 1. Simulación de tablas multidimensionales
- 2. Verdaderas tablas multidimensionales
- 3. Probar si una variable es una tabla
- Los argumentos de la línea de comandos
- Funciones integradas
- 1. Funciones que trabajan con cadenas
- 2. Funciones matemáticas
- 3. Funciones vinculadas a las tablas
- 4. Otras funciones
- a. La función getline
- b. La función close
- c. La función system
- Funciones de usuario
- Inclusión de archivos
- Ejercicios
- 1. awk en línea de comandos
- a. Ejercicio 1: awk y otros filtros
- b. Ejercicio 2: criterios de selección
- c. Ejercicio 3: criterios de selección, visualizaciónde campos, secciones BEGIN y END
- 2. Scripts awk
- a. Ejercicio 4: funciones
- b. Ejercicio 5: análisis de un archivo de log
- c. Ejercicio 6: generación de un archivo deetiquetas
- 1. awk en línea de comandos
Los comandos filtro
- Presentación
- Sintaxis de llamada a comandos filtro
- Visualización de datos
- 1. Consulta de datos, creación de archivos:cat
- 2. Valor de los bytes de un flujo de datos: od
- 3. Filtrado de líneas: grep
- 4. Últimas líneas de un flujo de datos: tail
- 5. Primeras líneas de un flujo de datos: head
- 6. Duplicación de la salida estándar: tee
- 7. Numeración de líneas: nl
- 8. Presentación de un flujo de datos: pr
- Tratamiento de datos
- 1. Recuento de líneas, de palabras y caracteres: wc
- 2. Extracción de caracteres: cut
- 3. Ordenación de datos: sort
- 4. paste
- 5. split
- 6. Transformación de caracteres: tr
- 7. Eliminación de líneas repetidas: uniq
- Compresión, archivado y conversión
- 1. Compresión: gzip, bzip2
- 2. Archivos tar
- 3. Archivos cpio
- 4. Copia física, tranformaciones: dd
- 5. Cambio de codificación: iconv
- Comandos de red seguros
- 1. Conexión remota: ssh
- 2. Transferencia de archivos: sftp
- a. Comandos de sftp que se ejecutan en la máquinalocal
- b. Comandos que se ejecutan en el equipo remoto
- c. Comandos de transferencia
- d. Conexión automática sin contraseña
- Otros comandos
- 1. El comando xargs
- 2. Comparar dos archivos: cmp
- 3. Líneas comunes entre dos archivos: comm
Cómo hacer ... (síntesis)
- Presentación
- Información
- Plantillas de nombres de archivo
- Verificar el código de retorno de un comando
- Test de igualdad entre dos cadenas
- Prueba de desigualdad entre dos cadenas
- Correspondencia de una variable respecto a un modelo
- No correspondencia de una variable respecto a un modelo
- Eliminar el comienzo o final de una cadena
- Calcular la longitud de una cadena
- Recuperar el campo de una línea
- No mostrar algunas líneas de un flujo
- Pruebas numéricas
- Cálculos
- Ejecutar un script de otro lenguaje a partir de un shell
- Acceder a una base MySQL a partir de un shell
Otros aspectos de los mecanismos internos del shell
- Presentación
- Redirigir los descriptores 1 y 2 al mismo archivo
- Agrupar comandos con paréntesis
- Agrupar comandos con llaves
- Interpretación de un script mediante un shell hijo
Anexos
- Caracteres especiales de shell
- Comandos internos de shell
- Clases de caracteres POSIX
- Orden de interpretación de un comando
Soluciones a los ejercicios
- Soluciones del capítulo Mecanismos esenciales del shell
- 1. Funcionalidades varias
- a. Ejercicio 1: comandos internos y externos
- b. Ejercicio 2: generación de nombres de archivo
- c. Ejercicio 3: separador de comandos
- 2. Redirecciones
- a. Ejercicio 1
- b. Ejercicio 2
- c. Ejercicio 3
- d. Ejercicio 4
- e. Ejercicio 5
- f. Ejercicio 6
- 3. Tuberías de comunicación
- a. Ejercicio 1
- b. Ejercicio 2
- c. Ejercicio 3
- d. Ejercicio 4
- 1. Funcionalidades varias
- Soluciones del capítulo Configuración del entorno de trabajo
- 1. Variables de entorno
- a. Ejercicio 1
- b. Ejercicio 2
- 2. Alias de comandos
- a. Ejercicio 1
- b. Ejercicio 2
- 1. Variables de entorno
- Soluciones del capítulo Las bases de la programación shell
- 1. Variables, caracteres especiales
- a. Ejercicio 1: variables
- b. Ejercicio 2: variables
- c. Ejercicio 3: sustitución de comando
- d. Ejercicio 4: caracteres de protección
- 2. Variables, visualización y lectura del teclado
- a. Ejercicio 1: variables
- b. Ejercicio 2: parámetros posicionales
- c. Ejercicio 3: lectura de teclado
- 3. Tests y aritmética
- a. Ejercicio 1: tests a los archivos
- b. Ejercicio 2: tests de cadenas de caracteres
- c. Ejercicio 3: tests numéricos
- d. Ejercicio 4: aritmética
- e. Ejercicio 5: operadores lógicos de los comandos [ ], [[ ]] yoperadores lógicos del shell
- 4. Estructuras de control if, case, bucle for
- a. Ejercicio 1: los comandos [ ] y [[ ]],la estructura de control if
- b. Ejercicio 2: estructuras de control case, bucle for
- 5. Bucles
- a. Ejercicio 1: bucle for, comando tr
- b. Ejercicio 2: bucle for, aritmética
- c. Ejercicio 3: bucles for, while
- 1. Variables, caracteres especiales
- Soluciones del capítulo Aspectos avanzados de la programación shell
- 1. Funciones
- a. Ejercicio 1: funciones simples
- b. Ejercicio 2: funciones simples, valor de retorno
- c. Ejercicio 3: paso de parámetros, retornode valor
- d. Ejercicio 4: archivos
- e. Ejercicio 5: archivos, funciones, menú select
- f. Ejercicio 6: archivos, tablas asociativas (bash 4,ksh93)
- 1. Funciones
- Soluciones del capítulo Expresiones regulares
- 1. Expresiones regulares
- a. Ejercicio 1: expresiones regulares con vi
- b. Ejercicio 2: grep
- 1. Expresiones regulares
- Soluciones del capítulo El comando sed
- 1. Expresiones regulares
- a. Ejercicio 1: inserción de marcadores en unarchivo
- b. Ejercicio 2: formato de archivos
- 1. Expresiones regulares
- Soluciones del capítulo El lenguaje de programación awk
- 1. awk en línea de comandos
- a. Ejercicio 1: awk y otros filtros
- b. Ejercicio 2: criterios de selección
- c. Ejercicio 3: criterios de selección, visualizaciónde campos, secciones BEGIN y END
- 2. Scripts awk
- a. Ejercicio 4: funciones
- b. Ejercicio 5: análisis de un archivo de log
- c. Ejercicio 6: generación de un archivo deetiquetas
- 1. awk en línea de comandos

Christine DEFFAIX RÉMY
Christine DEFFAIX RÉMY es ingeniera informática en Ociensa Technologies, especialista en desarrollo informático, especialmente en entornos Unix y Linux. Participa en proyectos de desarrollo y formación en grandes cuentas. Su sólida experiencia se combina con sus cualidades pedagógicas, para ofrecer al lector un libro realmente efectivo sobre cómo aprender a escribir shell scripts.
Más información