Uso del comando sed con ejemplos

Uso del comando sed con ejemplos.

El comando SED es un editor de secuencias capaz de realizar funciones en archivos como, buscar, reemplazar, insertar y eliminar.

Puedes editar archivos sin tener que abrirlos, por tanto no es necesario abrir un editor y modificar la cadena, la operación se automatiza.

También se admiten expresiones regulares que permiten comparar patrones complejos, aunque el uso más común del comando es para buscar y reemplazar o sustituir cadenas.

En este articulo aprenderemos como usar el comando, y aportaremos algunos ejemplos útiles.

 

Uso del comando sed

La sintaxis del comando y su explicación.

Donde:

  • [direccion]: Es opcional, pero podemos especificar un número de línea (N), rango de números de línea (N,M) o búsqueda de regexp (/cadena/) indicando donde deben buscar las instrucciones. Si no se especificamos nada trabajara sobre todo el contenido.
  • Instruccion (opciones)r:
    • i = Insertar línea antes de la línea actual.
    • a = Insertar línea después de la línea actual.
    • c = Cambiar línea actual.
    • d = Borrar línea actual.
    • p = Imprimir línea actual en stdout.
    • s = Sustituir cadena en línea actual.
    • r fichero = Añadir contenido de «fichero» a la línea actual.
    • w fichero = Escribir salida a un fichero.
    • ! = Aplicar instrucción a las líneas no seleccionadas por la condición.
    • q = Finalizar procesamiento del fichero.
  • -n: No mostrar por stdout las líneas que están siendo procesadas.
  • -s: Tratar todos los ficheros entrantes como contenido separado.

Nota: Una «regexp«, es una «expresión regular«.

 

Uso del comando sed con ejemplos

Ejemplos de reemplazo

Reemplazar cadenas:

Reemplazar cadenas sólo en las lineas que contentan una cadena:

Indicar las lineas donde reemplazar cadenas:

Sustituir múltiples cadenas:

 

Ejemplos de añadir (insertar)

Insertar espacios en blanco al principio de cada línea: En el ejemplo añadimos cinco.

Añadir una línea antes o después del fichero: Lo indicamos con ($=).

Insertar una linea en blanco antes de cada linea (que cumpla una regex):

Añadir una linea en blanco detrás de cada linea (que cumpla una regex):

Insertar una linea en blanco antes y después de cada linea (que cumpla una regex):

Insertar una línea en blanco: En el ejemplo cada cinco lineas.

Insertar un número de línea antes de cada línea:

Añadir el número de línea, exclusivamente si tiene contenido:

Si una línea termina en «\» (barra invertida) unirla con la siguiente:

 

Seleccionar y visualizar

Ver las primeras cinco líneas de un fichero:

Ver las ultimas diez líneas de un fichero:


Visualizar un rango concreto de líneas: Con cat -n indicamos el nuemero de linea, con sed -n, no imprime ninguna excepto las indicadas.

Mostrar la primera o ultima línea de un archivo:


Visualizar las líneas que no hagan match con regexp:


Ver la siguiente línea a una regexp:

Mostrar desde una regexp, hasta el final del archivo:

Mostrar las líneas que contengan 75 caracteres o más:

Ver las líneas que contengan 75 caracteres o menos:

 

Ejemplos de eliminar

Borrar el rango indicado de líneas en un archivo:

Borrar todas las líneas de un archivo excepto las indicadas:

Eliminar la ultima linea:

Eliminar desde la línea indicada hasta el final:

Borrar las líneas que tengan una cadena:

Borrar líneas en blanco de un archivo:

Quitar los espacios al principio de la línea:

Quitar los espacios existentes al final de cada línea:

Eliminar los espacios que sobran: Al principio, al final de línea, o las dos opciones.

  • Al principio.

  • Al final.

  • Al principio y al final.

Eliminar los tags de HTML:

Borrar las líneas duplicadas que no sean consecutivas:

Eliminar líneas en blanco y comentarios bash:

 

Uso del comando sed con ejemplos

En Sololinux.es seguimos creciendo gracias a nuestros lectores, puedes colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog,  foro o redes sociales.

 

Uso del comando sed con ejemplos
4.8 (95%) 4 Voto[s]

Agregar comentario