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
Etiquetas:comandos, linux, tutoriales
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.
como borraria una lina antes o despues de la linea patron?
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