Eliminar líneas de un archivo usando sed
Este comando de Unix se utiliza para el procesamiento de la línea de comandos . Esta utilidad se puede usar para eliminar expresiones de un archivo que puede identificarse mediante un delimitador de especificación (como una coma, tabulación o espacio), por número de línea o buscando una cadena, expresión o la dirección de una línea en La sintaxis de sed.
Sed: eliminar una o más líneas de un archivo
Aquí es cómo eliminar una o más líneas de un archivo.Sintaxis
sed '[/] d'sed '{[/] [, ] [/] d'
/.../ = delimitadores
n = número de línea
cadena = cadena encontrada en línea
expresiones regulares = expresión regular correspondiente al patrón buscado
addr = dirección de una línea (número o patrón)
d = eliminar
Ejemplos de sed
Aquí hay algunos ejemplos de cómo usar la sintaxis anterior.Usa el siguiente código para eliminar la tercera línea:
sed '3d' fileName.txt
Elimine la línea que contiene la cadena "awk" usando:
sed '/ awk / d' nombre_archivo.txt
Puede eliminar la última línea escribiendo:
sed '$ d' nombre_archivo.txt
O eliminar todas las líneas vacías a través de:
sed '/ ^ $ / d' filename.txtsed '/./!d' nombre_archivo.txt
Elimine la línea que coincida con una expresión regular (eliminando uno que contenga caracteres digitales, al menos 1 dígito, ubicado al final de la línea):
sed '/ [0-9 /] [0-9] * $ / d' filename.txt
Eliminar el intervalo entre las líneas 7 y 9:
sed '7, 9d' nombre_archivo.txt
La misma operación que la anterior pero reemplazando la dirección con parámetros:
sed '/ -Start /, / - End / d' filename.txt
Los ejemplos anteriores solo se cambian en la visualización del archivo (stdout1 = screen).
Para cambios permanentes a las versiones anteriores (<4) use un archivo temporal para GNU sed usando el "-i [sufijo]" :
sed -i ".bak" '3d' nombre_archivo.txt