Reemplazando cadenas en archivos con sed

sed es un editor de flujo que se utiliza para filtrar texto. Es decir, toma como entrada un archivo y realiza alguna operación (o conjunto de operaciones) para generar una versión modificada que muestra por la salida estándar (normalmente en pantalla, a menos que se redireccione). Se suele utilizar para la extracción de parte de un archivo con la coincidencia de patrones o la sustitución de varias apariciones de una cadena dentro de un archivo.

La sintaxis es la siguiente:
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.
Aquí os dejo una lista con los comandos mas habituales 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.
Para entender su comportamiento lo mejor será poner algunos ejemplos. supongamos que tenemos un archivo con el siguiente texto:


Cambio todas las mayúsculas a minúsculas:

Elimino la segunda línea:

Cambio la palabra "CALUROSAS" por "FANTASTICAS":

Espero que les sea útil.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.