Comandos Linux – Borrar Lineas con Sed

Vamos a estar publicando regularmente comandos del Shell de Linux para realizar varias tareas, esperamos que les sea de utilidad.

Sed es potente editor de secuencias o streams y esta vez lo vamos a utilizar para eliminar líneas en blanco y para eliminar líneas que contengan un patron específico.

Eliminar lineas en Blanco

La opción de seed para eliminar es d. Para eliminar las líneas en blanco utilizamos:

sed '/^$/d' <archivo>

Asi que para eliminar las líneas en blanco de un archivo llamado ejemplo1:

<code>sed '/^$/d' ejemplo1</code>

Si queremos redireccionar el resultado a un nuevo archivo llamado ejemplo2 ejecutaríamos lo siguiente:

<code>$ sed '/^$/d' ejemplo1 > ejemplo2</code>

Así no modificaríamos el archivo original y tendríamos el archivo sin líneas en blanco en ejemplo2.

Eliminar líneas que contengan un patrón o palabra específico

Supongamos que queremos eliminar todas las líneas que contienen la palabra Windows de un archivo llamado ejemplo3. Para esto ejecutamos:

<code>sed '/Windows/d' ejemplo3 > ejemplo4</code>

Aquí redireccionamos el resultado a un nuevo archivo llamado ejemplo4

Eso es todo por ahora espero que les sea de utilidad.

Cualquier duda, pregunta o comentario son bienvenidos también si tienen alguna duda de como hacer algo con comandos en linux pregunten y trataremos de darle la mejor respuesta.

Saludos

Share

olivers

Fanático del software libre, fotógrafo de fin de semana. Co-fundador de tutanda.com y ddw.cl. Me puedes seguir en Twitter @odeabreu.

También te puede gustar...

3 Respuestas

  1. Javier dice:

    Buenos días,

    ¿Cómo procedería si lo que quisiera hacer es borrar no solo la línea que contenga un patrón, sino también dos líneas antes y dos líneas después?

    UN saludo y gracias.

  2. ivan dice:

    como borraria una lina antes o despues de la linea patron?

  3. jose dice:

    Como podría ser para borrar toda una linea y la palabra a buscar son letras parte de una palabra . por la lógica de linux debería ser poniendo un *ka en el caso de la palabra fuese kaka . o al revés ka*. pero esto no funciona.sabes alguna forma. Gracias de antemano

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *