Cómo usar el comando sed para eliminar líneas en un archivo

21 gen 2023 2 min di lettura
Cómo usar el comando sed para eliminar líneas en un archivo
Indice dei contenuti

Introducción

En la mayoría de los casos, cuando se trabaja con un archivo de texto, es probable que contenga algunos espacios en blanco. Estos espacios en blanco pueden variar desde unos pocos caracteres hasta varias líneas en blanco o sin información. Preservar dichos archivos con espacios innecesarios puede llevar mucho tiempo y ser un inconveniente. Puede haber varias razones para mantener estos archivos, pero la mejor manera de lidiar con ellos es deshacerse de las líneas en blanco. Este artículo explora el comando sed de Unix y su uso para eliminar líneas en blanco en un archivo.

¿Qué es Sed?

Sed significa editor de secuencias. Es un editor de línea de comandos no interactivo. Se utiliza principalmente para editar y filtrar archivos. Sed se usa con mayor frecuencia en secuencias de comandos, donde se usa para modificar un solo archivo o varios archivos secuencialmente. Sed se puede utilizar para realizar una secuencia de acciones de edición en un solo archivo o en un grupo de archivos. Se puede usar para eliminar líneas y palabras en un archivo, reemplazar palabras e incluso agregar texto en ubicaciones específicas en un archivo.

Cómo eliminar una fila

El comando sed se puede usar para eliminar líneas de un archivo usando el comando d. El formato general es:

sed '<range>d' <file>

El <range> puede ser un número de línea específico o un rango de líneas, por ejemplo, 2d elimina la segunda línea del archivo, mientras que 2,5d elimina las líneas 2-5 del archivo.

Ejemplo para eliminar la tercera línea del archivo file.txt:

sed '3d' file.txt

Ejemplo para eliminar las líneas 2-5 del archivo file.txt:

sed '2,5d' file.tx
sedsed

Eliminar la última línea del archivo

Utilice el comando '$d' con el parámetro de línea de sed para eliminar la última línea o la línea de pie de página de un archivo. El siguiente comando eliminará la última línea de file_file_name.csv:

sed '$d' nome_file

Eliminar líneas que no sean la primera línea

Utilice el operador de negación (!) con la opción d en el comando sed. El siguiente comando sed elimina todas las líneas excepto el encabezado:

sed '1!d' nome_file

Eliminar filas distintas a las especificadas

Utilice el operador de negación (!) con la opción d en el comando sed. El siguiente comando sed elimina todas las líneas excepto las líneas 2 a 5:

sed '2,5!d' nome_file

Eliminar la primera y última línea

sed '1d;$d' file_name

Eliminar líneas en blanco o líneas en blanco

El comando sed se puede usar para eliminar líneas en blanco en un archivo de texto. Para hacer esto, puede usar el siguiente comando:

sed '/^$/d' file_name

El comando anterior elimina todas las líneas en blanco del archivo especificado. Cualquier línea que contenga un solo espacio no se considera una sola línea.

Eliminar líneas que comienzan con el carácter especificado

sed '/^t/d' numbers.csv

Eliminar líneas que terminan con el carácter especificado

sed '/t$/d' numbers.csv

Eliminar líneas que contienen un patrón

sed '/pattern/d' numbers.csv

Conclusión

Siempre debe limpiar los archivos de texto antes de continuar con el procesamiento, ya que pueden contener caracteres no deseados, como tabulación, salto de línea, espacio, etc. Sed ofrece varias formas de eliminar líneas, palabras o incluso caracteres de un archivo. ¡Simplemente ingrese la operación deseada en el símbolo del sistema y listo!

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.