Ir al contenido principal

Entradas

Mostrando entradas de diciembre, 2016

Introducción a sed I

Otro más de mis favoritos en la consola de GNU/Linux: sed. Este Stream EDitor es similar a grep, salvo que puede hacer afectaciones a los archivos (no por defecto). No todas las expresiones regulares de grep funcionan transparentemente en sed, así que es buena idea acostumbrarse a cada uno. Conociendo la sintaxis y los modificadores no hay cosa que se le resista. No pretendo hacer una extensiva introducción a sed. Quiero que sea una receta rápida a las cosas que se pueden realizar con éste. Es importante que sepan que a diferencia de un bash script común y corriente, donde todas las instrucciones se ejecutan secuencialmente. Sed aplica todas las expresiones/instrucciones a la misma línea del archivo objetivo y hasta que no se apliquen la totalidad no continua con las subsecuentes líneas. Por supuesto, que las líneas que no empaten se mantendrán sin modificación alguna.  Los patrones/regex siempre van entre diagonales (/regex/). La manera simple en que pueden valid...

Introducción a grep II

Es muy importante estar al pendiente de la sintaxis y particularidades de muchos de los caracteres dentro de la definición de clases de caracteres. Su mala utilización produce errores o resultados inesperados. Esas particularidades son las que me encanta mantener en mente, me da la sensación es que es una manera de adquirir valía como administrador de sistemas, y por ende, consultor. Para ilustrar la idea a la que hago referencia, utilicemos los siguientes ejemplos.   - (uso de guión) ] (corchete cuadrado) Uso de guión. Para utilizar este signo, siempre hay que incorporarlo al inicio de la clase, por ejemplo: grep " [- aeiou]" letters.txt   Si lo pusiéramos en otro lugar, sería la definición de un rango.  Corchete cuadrado. Cuando deseamos incorporar a una clase el signo de corchete, es éste el primero que debemos colocar justo después de la apertura de la clase. Por ejemplo, si queremos buscar todas las palabras que contengan los car...

Introducción a grep

G/er/p Lo prometido es deuda. En el artículo anterior, hice la promesa que regresaría con más información para desempolvar los dedos. Esta vez hablaré un poco de cómo construir expresiones regulares (aka regex) para la extracción de información. Para lo siguiente, el consejo que le doy a los novatos es que consideren 4 cosas al momento de realizar la construcción de sus búsquedas y probarlas. Es importante asegurarse que los datos que están observando son realmente todos los que son y que éstos no se ven sesgados por datos de otra clase. Las premisas que en todos los casos deben ser ciertas son: Qué empata. Qué NO empata. Qué empata pero No debería empatar. Qué no empata, pero debería empatar. Insisto en la importancia de mantener la consistencia en los resultados. Si vamos a presentar un informe con fechas, números, promedios y picos; cualquier volumen de datos podría generar una desviación en la verosimilitud de toda la información, poniendo en riesgo las medidas ...

Intruducción a AWK

Estos días he andado muy activo con el reforzamiento de algunos temas, especialmente los que más me interesan. AWK y Sed han sido, por mucho tiempo, mis herramientas favoritas en la elaboración de estadísticas y reportes. No son especialistas en la presentación de la información (no grafican), pero con algo de imaginación, quedan bastante inteligibles las salidas. He estado revisando el libro de Sed & AWK de Ardnold Robbins y Dale Dougherty , cuyo contenido hasta ahora me ha parecido excelso. Su estructura y manera de explicar las posibilidades provienen de la experiencia, no de la teoría. Un punto muy bueno por los autores. Es ameno leerlos, los ejemplos se organizan por complejidad/utilidad, explicándolos poco a poco sin que caiga en un man del sistema y que al final la información esté en los terrenos de lo baladí. Recomiendo mucho su lectura, el aprendizaje de estas dos herramientas es vital si desean manejar y entender los registros del sistema y aplicaciones. Su poder ...

Áreas de un círculo.

Recientemente ando desempolvando algunos conocimientos en lenguajes de programación. No porque el día a día me los exija, pero siempre es bueno la comprensión desde las entrañas de lo que adminisitras. Otro punto es que la programación mantiene al cerebro despierto y posibilida su mejor comprensión de las cosas. Este caso encontré unos apuntes cuando estudiaba la preparatoria hace poco más dee 10 años. En ese momento vimos algo de C. Más por melancólico que por sentido de la practicidad, subo uno de los códigos que encontré. Con algo de tiempo, iré subiendo más de mis apuntes, solo como parte de una memoria histórica de mi paso por las TI. El objetivo del código es ralizar ene cantidad de cálculos de áreas de círculos (hasta que la palabr FIN sea encontrada). Elegí este código por el uso de estructuras; tipos de datos que ya había olvidado y que gracias mi cuaderno las recordé. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

Un hombre es real...

Un hombre es real y viril en medida que lucha contra la naturaleza. Un hombre es un tanto más rico en espíritu cuantos más aspectos múltiples y contradictorios haya en él. Y la virilidad aquí consiste en mantener las contradicciones, en soportarlas pese a la lucha y el dolor, para no perder ni una de ellas. Henry Lefebvre