Está en la página 1de 3

Sed Eliminar una o varias lneas de un

fichero
Junio 2014

Eliminar una o varias lneas de un fichero

Sintaxis
sed '{[/]<n>|<cadena>|<regex>[/]}d' <nombre_ fichero>
sed '{[/]<direccion1>[,<direccion2>][/]d' <nombre_fichero
/.../ = delimitadores
n = el nmero de lnea
cadena = la cadena contenida en la lnea
regex = expresin regular correspondiente a la ocurrencia buscada
direccion = la direccin de una lnea (nmero u ocurrencia)
d = delete (borrar)

Ejemplos
Eliminacin de la 3ra lnea
sed '3d' mi_fichero.txt
Eliminacin de la lnea conteniendo la cadena "awk"
sed '/awk/d' mi_fichero.txt
Eliminacin de la ltima lnea
sed '$d' mi_fichero.txt
Eliminacin de todas las lneas vacas
sed '/^$/d' mi_fichero.txt
sed '/./!d' mi_fichero.txt
Eliminacin de la lnea conteniendo una expresin regular (aqu se elimina la lnea conteniendo
caracteres numricos (al menos 1 cifra) situados al final de la lnea)
sed '/[0-9/][0-9]*$/d' mi_fichero.txt
Eliminacin del intervalo comprendido entre las lneas 7 y 9
sed '7,9d' mi_fichero.txt
Lo mismo pero esta vez la direccin es reemplazada por una ocurrencia
sed '/-Inicio/,/-Fin/d' mi_fichero.txt

Nota
Los ejemplos precedentes nicamente modifican la visualizacin del archivo (salida estndar 1
= la pantalla). Para realizar modificaciones permanentes, en las antiguas versiones (<4) utilizar
un fichero temporal, para GNU sed utilizar el parmetro "-i[sufijo]" (--in-place[=sufijo]), como en
el ejemplo siguiente:
sed -i".bak" '3d' mi_fichero.txt
No mostrar el resultado en la salida estndar, y modificar el fichero original "mi_fichero.txt"
eliminando la 3ra lnea y crear un fichero de respaldo llamado "mi_fichero.txt.bak"
---------------------------------------------------
Fichero a ser utilizado en los ejemplos (mi_fichero.txt):
Introduccin
Este es un ejemplo de fichero para familiarizarse con el filtro sed.
Presentacin
-Inicio-
Sed es un editor de flujo (Stream EDitor), derivado del editor de texto ed, muy utilizado
en los sistemas Unix.
-Fin-
Uso
El comando ms utilizado del filtro sed es sin dudas el comando de sustitucin (s), que
permite reemplazar en cada lnea la primera ocurrencia de una cadena1 por una cadena2.
Para una sustitucin de todas las ocurrencias (encontradas) en cada lnea hay que utilizar
el parmetro g (global).
Conclusin
El filtro sed es sin dudas uno de los comandos ms utilizados en asociacin con otros
comandos como grep o "awk" para la escritura de scripts shell.
El conocimiento y el dominio de expresiones regulares es un plus.
-------------------
Editado el 05/01/2007
A las 17:00 por JP
Este documento intitulado Sed Eliminar una o varias lneas de un fichero de Kioskea (es.kioskea.net) esta
puesto a diposicin bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la
licencia, siempre que esta nota sea visible.

También podría gustarte