sed (informática)

sed (informática)
Para otros usos de este término, véase Sed (desambiguación).
sed
Información general
Extensiones comunes .sed
Paradigma imperativo, no estructurado
Apareció en 1973 - 1974
Diseñado por Lee E. McMahon
Última versión estable (DD de Introduce un número del 1 al 12 de AAAA)
Tipo de dato únicamente strings
Implementaciones sed, GNU sed, busybox sed, psed, HHsed, super sed, sedmod, ssed.
Influido por ed
Ha influido a Perl
Sistema operativo Multiplataforma

Sed es un editor de flujo, una potente herramienta de tratamiento de texto para el sistema operativo Unix que acepta como entrada un archivo, lo lee y modifica línea a línea de acuerdo a un script, mostrando el resultado por salida estándar (normalmente en pantalla, a menos que se realice una redirección). Sed permite manipular flujos de datos, como por ejemplo cortar líneas, buscar y reemplazar texto (con soporte de expresiones regulares), entre otras cosas. Posee muchas características de ed y ex.

Como lenguaje de programación es Turing completo. Provee instrucciones para realizar saltos condicionales e incondicionales a cualquier posición del script o al final del mismo. Análogas a GOTO, permiten la programación no estructurada.

Contenido

Sintaxis

La sintaxis general de la orden sed es:

sed [-n] [-e'script'] [-f archivo] archivo1 archivo2 ...

donde:

  • -n indica que se suprima la salida estándar.
  • -e indica que se ejecute el script que viene a continuación. Si no se emplea la opción -f se puede omitir -e.
  • -f indica que los órdenes se tomarán de un archivo

Un script consiste en una o varias órdenes del editor (uno por línea o separados por ";") con la siguiente estructura:

[inicio[,fin]] función[argumentos]

donde inicio y fin hacen referencia a las líneas (número de línea) afectadas (o intervalo de líneas); función hace referencia a la orden de editor a aplicar y argumentos hace referencia a los argumentos necesarios para la ejecución de la función.

Para expresar las órdenes en varias líneas es posible utilizar comillas o apóstrofos, u opcionalmente añadir el carácter barra invertida "\" antes de pulsar Intro.

Ejemplos de uso

Cambia todas las minúsculas a mayúsculas de archivo:

sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' archivo


Borra la 3ª línea de archivo:

sed '3d' archivo


Añade una línea con el contenido "Línea insertada" después de cada línea del archivo:

sed 'a\
Línea insertada' archivo


Elimina todas las secuencias de Escape del tipo Xm y Zm que se suelen usar para letras en negrita, etc. para vt100 y cambia el formato de los saltos de línea, de un archivo almacenando los resultados en un archivo nuevo (^[ representa al caracter de escape, ingresable por medio de control V + escape, y ^M representa al caracter de retorno de carro):

sed 's/^[\[[0-9]*m//g
     s/^[\[[0-9]*w//g
     s/^M/\
/g' archivo > archivo.nuevo


Determina si un número natural mayor o igual a 2, es primo:

echo 42 | sed -e 's/[0-9]/|0123456789n&/g; s/\(.\)[^n]*n\1//g
    :mult; s/[0-9]|/|0000000000/g; /[0-9]|/bmult
    s/[1-9]/0/g; s/|*/00|/; h
    :siguiente; s/\(0*\)|\1/|/; /|$/{s/.*/es primo/;q}; g
        :restar; s/^\(0*\)|\1/\1|/; trestar
        /|$/{ s/.*/no es primo/; q }
        g; s/^/0/; h
    bsiguiente'

Órdenes usuales de sed

  • a\: Tras terminar el ciclo de procesamiento del script sobre la línea actual, añade la línea especificada a continuación.
  • c\: Sustituye la línea actual por la especificada a continuación.
  • d: Borra la línea actual.
  • i\: Similar a a\, pero es insertada inmediatamente (sin esperar a finalizar el ciclo).
  • p: Imprime la línea actual, inclusive cuando se utiliza la opción -n.
  • q: Abandona el proceso cuando se alcanza la línea especificada.
  • r archivo: Lee un archivo, añadiendo su contenido a la salida.
  • w archivo: Copia la línea en archivo.
  • =: Imprime el número de línea.
  • !orden: Aplica la orden si la condición previa al signo de admiración, no selecciona la línea actual.

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • Sed (informática) — Saltar a navegación, búsqueda Para otros usos de este término, véase Sed (desambiguación). Sed es un editor de flujo, una potente herramienta de tratamiento de texto para el sistema operativo Unix que acepta como entrada un archivo, lo lee y… …   Wikipedia Español

  • Sed — (Del lat. sitis.) ► sustantivo femenino 1 FISIOLOGÍA Sensación interna producida por la necesidad de beber: ■ las comidas muy saladas dan mucha sed. 2 Deseo muy intenso de una cosa: ■ los padres de la víctima tienen sed de justicia. SINÓNIMO… …   Enciclopedia Universal

  • Categoría:Software para Unix — Esta categoría es un contenedor general, utilizado para organizar categorías más precisas. Por su naturaleza amplia, sólo deben aparecer en ella los artículos muy generales. Por favor, utiliza en lo posible alguna de las subcategorías. Nota: Se… …   Wikipedia Español

  • Perl — Desarrollador(es) Larry Wall www.perl.org Información general Paradigma multiparadigma, funcional, im …   Wikipedia Español

  • Falsos amigos — Anexo:Falsos amigos Saltar a navegación, búsqueda Los falsos amigos son palabras que pueden escribirse o tener una pronunciación similar en dos o más idiomas, pero en realidad significan conceptos diferentes, debido a sus distintas etimologías, o …   Wikipedia Español

  • Tipografía — En este artículo sobre arte y literatura se detectaron los siguientes problemas: Necesita mejorar su estructura. Se trata de una mera lista de datos o enlaces sin mayor explicación. Carece de fuentes o referencias que aparezcan en una fuente… …   Wikipedia Español

  • Anexo:Falsos amigos — Los falsos amigos son palabras que, a pesar de tener significados diferentes, pueden escribirse o pronunciarse de una manera similar en dos o más idiomas. Lo anterior puede deberse tanto a distintas etimologías como a un cambio en el significado… …   Wikipedia Español

  • Cronología del Consejo de Ministros de Cuba — Saltar a navegación, búsqueda Artículo principal: Consejo de Ministros de Cuba Contenido 1 Gobierno actual 2 Presidencia del Consejo de Ministros (Comité Ejecutivo) …   Wikipedia Español

  • AWK — Información general Paradigma Programación dirigida por eventos, Programación imperativa Apareció en 1977, última revision 1985, la versión POSIX actual es IEEE Std 1003.1 2004 …   Wikipedia Español

  • Salto de línea — En informática, el salto de línea (LF, line feed ) es un código de control que indica un movimiento a la siguiente línea de texto, por ejemplo en una impresora o terminal. En ocasiones se usa junto con el retorno de carro (CR), que en una máquina …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”