sed es un “editor de textos” para el filtrado y la transformación de textos. Escribo “editor de texto” entre comillas pues en realidad sed no trabaja con cadenas de caracteres sino con “flujos”, la diferencia con los editores de textos clásicos (interactivos) es que sed acepta como entrada estándar un archivo o cualquier otro stream; resultado que es procesado y devuelto a la salida estándar (vea más acerca de stdin, stdout y stderr aquí)
Este es otro de mis pequeños scripts que suelo utilizar y/o adaptar para diferentes circunstancias. Un script sencillo, escrito para Korn Shell pero fácilmente portable a Bash u otro similar.
Para ser ciertos, más que scripting, este ejemplo es una clase de find, un comando tan potente que casi que nos permite “programar” con find
Antes de pasar a ver el código, comento un poco la necesidad que dió origen a este pequeño ejemplar para que tu puedas interpretarlo y, por que no, adaptarlo a tu necesidad.
La cuestión es así, mis aplicaciones y procesos sin logs no tienen razón de ser, todo se loguea, con fines de detectar anomalías, ver errores de software e incluso para hacer auditorias.
Esta publicación es pequeña pero muy efectiva, básicamente se trata de un script para buscar en la wikipedia desde la consola, valiéndose simplemente del comando dig.
En alguna ocasión, puede resultar útil trappear señales en los shell scripts. Un ejemplo clásico de señal a trapear es el famoso Ctrl+C (^C).
Trappear una señal es fácil, simplemente debemos definir una acción (o función) que se ejecutará al momento de recibir la señal, y luego definir las señales a trappear con el comando trap.
No suele ser costumbre utilizar la instrucción declare en Bash, de echo, hasta algunos quizás no la conozcan. Lo cierto es que Bash, al no ser un lenguaje fuertemente tipado y no requerir la declaración explícita de variables, nos permite prescindir de su utilización.
No obstante esto, si declaramos las variables podemos lograr algunos beneficios para casos puntuales, hasta incluso evitar errores de ejecución.
A continuación veremos algunos ejemplos para saber de que estamos hablando con esto de declarar las variables en Bash.
Muchas veces el poco conocimiento acerca de la programación de shell scripts y el propio intérprete de comandos hace que hagamos el doble de trabajo para trabajos simples que se pueden resolver con un sencillo script.
Por tal motivo y con ánimo a conocer un poco más acerca de algún shell de Unix, veremos algunos ejemplos cuidadosamente explicados de como hacer loops en Bash (el shell sucesor del Bourne y escrito para el proyecto GNU).