Educar

educar
Tipo de Utilidad UNIX [d] y editor de línea [d]
Autor Laboratorios Bell
Desarrollador ken thompson
Interfaz TTY
Sistema operativo UNIX
Primera edición 1971
plataforma de hardware Unix

ed  (pronunciado /iːdiː/ ) [1] es el primer editor de texto estándar del sistema operativo UNIX .

Tiene una interfaz orientada a comandos , ya que se creó en una época en la que no existían los monitores y el teletipo era la herramienta estándar de entrada/salida .

Historia e influencias

El editor fue escrito por Ken Thompson en lenguaje ensamblador PDP-11 /20 en 1971. Muchas de las características de ed provienen de QED , un editor de texto creado en el alma mater de Thompson , UC Berkeley [2] . Ken estaba muy familiarizado con QED y anteriormente lo había portado a CTSS y Multics . Su versión de QED vio la primera implementación de expresiones regulares . Las expresiones regulares también aparecieron en ed, aunque se implementaron en menor medida que en QED.

Una poderosa extensión de las ideas de ed es el mismo editor de texto, que fue escrito para Plan 9 . Una versión extendida del editor, conocida como ex , más tarde se convirtió en la base de vi .

Características

ed (o su equivalente) está disponible en casi todos los sistemas operativos similares a UNIX (y debe estar en un sistema que cumpla con la especificación única de UNIX ). Conocido por su extrema concisión, prácticamente no da ninguna retroalimentación [3] . Por ejemplo, tanto el mensaje de error como el mensaje de confirmación de que el usuario desea salir sin guardar son "?". No muestra el resultado de los cambios de texto sin un requisito. Las versiones anteriores (alrededor de 1981) ni siquiera piden confirmación para salir sin guardar [3] . Esta concisión fue útil en versiones anteriores de UNIX, cuando el teletipo era la consola , los módems eran lentos y la memoria era valiosa. A medida que la tecnología informática ha mejorado, estas restricciones se han aliviado y los editores de texto visuales se han convertido en la norma.

Después de la llegada de los editores orientados a la pantalla, ed se utilizó principalmente para el procesamiento automático con el shell de UNIX , como la aplicación de parches . En este sentido, es el ancestro de una familia de editores de stream como sed .

El modo de comando ed a menudo ha sido imitado por otros editores de texto. Por ejemplo, Edlin en las primeras versiones de MS-DOS tenía una sintaxis algo similar. Los editores de texto de muchos juegos MUD (por ejemplo , LPMud y sus descendientes) también tienen una sintaxis similar a ed.

Ejemplo

Ejemplo de sesión en ed. Para mayor claridad, el texto generado por el editor está resaltado .

a ed es el editor de texto estándar de Unix. Esta es la línea número dos. . 2i . %l ed es el editor de texto estándar de Unix.$ $ Esta es la línea número dos.$ 3s/dos/tres/ ,l ed es el editor de texto estándar de Unix.$ $ Esta es la línea número tres.$ wtexto sesenta y cinco q

Como resultado, el archivo contendrá el siguiente texto:

ed es el editor de texto estándar de Unix. Esta es la línea número tres.

El trabajo comienza con un archivo vacío, el comando aagrega texto (todos los comandos ed constan de una letra). El comando pone el editor en modo de adición en la línea actual .  La entrada termina con un punto en una línea separada. Estas dos líneas ingresadas antes del punto se almacenan en el búfer del archivo. El comando pone al editor en modo de inserción en la línea número 2 e inserta el texto ingresado (solo un espacio en este caso) antes de la segunda línea anterior, que ahora se convierte en la tercera. Todos los comandos se pueden prefijar con la cadena para cambiar. 2i 

Sintaxis general de cualquier comando: [[адрес начальной строки,]адрес конечной строки]команда[параметры]. Un ejemplo de mover (movimiento en inglés )  un bloque de texto de las últimas cuatro líneas de un archivo y agregarlo después de la línea número 43: . El símbolo representa la última línea. $-4,$m43$

En una cadena , una %lletra minúscula lsignifica un comando de salida. El prefijo de este comando es el rango de salida, en este caso %, que es la abreviatura de 1,$. Esto significa que debe generar todas las líneas desde la primera hasta la última.

Después de insertar una línea en blanco, el texto "Esta es la línea número dos". desciende a la tercera línea. El error se puede corregir con el comando reemplazar 3s/two/three/. La salida de todo el texto también se puede producir mediante un comando ,l(la coma aquí es sinónimo de %).

w textguarda el texto en un archivo, en respuesta ed imprime el número de caracteres escritos ( 65). qsale del editor.

Véase también

Notas

  1. Computerphile (2018-07-06), De dónde vino GREP - Computerphile , < https://www.youtube.com/watch?v=NTfOnGZUZDk > . Consultado el 7 de julio de 2018. Archivado el 11 de noviembre de 2018 en Wayback Machine . 
  2. DM Ritchie y KL Thompson, "Editor de texto QED", MM-70-1373-3 Archivado el 3 de febrero de 2015 . (junio de 1970), reimpreso como "Manual de referencia del editor de texto QED", MHCC-004, Murray Hill Computing, Bell Laboratories (octubre de 1972).
  3. 1 2 Donald A. Norman. La verdad sobre UNIX  (neopr.)  // Datamation . - 1981. Archivado el 16 de abril de 2014.

Enlaces