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!