¿De donde viene GREP?



En este artículo no voy a hablar mucho acerca de lo que es GREP por que presumo que muchos y muchas de ustedes lo han utilizado o lo utilizan a diario en sus tareas de terminal.

Pero ¿Por qué GREP se llama así? ¿De donde proviene? Intentaré responder algunas de estas preguntas aquí.


Remontemonos al año 1970/71. A los inicios de UNIX. 


La computadora en la que Unix corría era una PDP 11/20. Una maquina con muy poquito poder de prosesamiento. No se caracterizaba por ser una maquina rápida ni por poseer mucha memoria (rondaba entre los 32 y los 64kbytes de acceso random y uno o dos MB de almacenamiento en disco)

Esto significaba que mucho del software para UNIX en aquellos años solía ser muy sencillo. 

Uno de los programas mas populares de Unix en aquel entonces era ED (Pronunciado i-di por sus siglas en inglés) desarrollado por Ken Thomspon.  

En aquellos dias tampoco existían displays. Todo el output de tu computadora salía en papel. Esto significaba que se buscaba economizar el papel y también se procesaba una línea a la vez. 

Los comandos de ED eran sencillos. Se caracterizaban por ser de una sola letra. 

P: Print (enviar a papel lo desarrollado)
D: Delete (borrar)
S: Substitute (reemplazar)
A: Append (agregar algo a una línea)
R: Read (leía los contenidos de un archivo)
W: Write (escribía contenidos a un archivo)
G: Global (busca en varios archivos)

En esencia, esto era mas o menos como funcionaba ED. Pero Ken Thompson agregó una particularidad que lo hizo único y cambiaría la manera en la que utilizamos terminales y lenguajes de programación y scripting desde ese entonces: Expresión Regular. (Regular Expression o RegEx)

RegEx permite detectar patrones de texto utilizando una serie de símbolos para agarrar determinadas cosas que pueden variar en su contenido. Si por ejemplo, quisiera detectar una línea de texto en un archivo que desconozco lo que dice, pero se que arranca con un tag de apertura y un tag de cierre, podría utilizar esos dos tags con expresión regular para hallar lo que sea que se encuentre encerrado en ellos.

Volviendo a ED, y ya entenderán por que, para hablar sobre el orígen de GREP estoy hablando tanto acerca de ED. Y esto es así por que ED, en Unix, en esos años, tenía muy poquita memoria, por lo cual un archivo de texto muy grande (>1MB) no se podía editar en ED. 

Ken Thompson, un genio realmente, se apareció en el 71 con una idea revolucionaria, que condensó en un programa que escribió de un día para el otro. El programa podía buscar un trozo de texto a través de expresión regular en multiples archivos. 

Y lo llamó GREP. 

¿Por qué?

Recuerdan los comandos de ED que detallé arriba? 

G(lobal) / R(egular) E(xpression)/ P(rint) 

Básicamente lo que GREP hacía en sus inicios era lo mismo que hace hoy. Busca algo y lo imprime (ahora en pantalla)

Espero que hayan aprendido algo nuevo hoy. 

Muakk..


Alexia.

0 comentarios:

Copyright (C) 2019 - Chica de Sistemas. Con la tecnología de Blogger.

Páginas