Comando SED para eliminar líneas en un archivo

Comando SED para eliminar líneas en un archivo

En la mayoría de los casos, cuando trabaja con un archivo de texto, es probable que tenga algunos espacios en blanco. Estos espacios en blanco pueden variar desde unos pocos caracteres hasta una serie de líneas que están vacías o que no tienen información. Mantener dichos archivos con espacios innecesarios puede llevar mucho tiempo e inconveniente. Puede haber varias razones para mantener estos archivos, pero la mejor manera de manejarlos es eliminar las líneas que están vacías. Este artículo explora el comando UNIX SED y su uso en la eliminación de líneas vacías en un archivo.

Que es sed?

SED significa editor de transmisión. 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 editar un solo archivo o múltiples archivos secuencialmente. SED se puede usar para realizar una secuencia de acciones de edición en un solo archivo o 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.

En este tutorial, aprenderá sobre el comando Linux SED para eliminar las líneas de un archivo basado en argumentos. Recuerde que el comando predeterminado no realiza ningún cambio en el archivo original. Si desea eliminar archivos en el mismo archivo, use las opciones '-i' con comandos.

1. Eliminar la primera línea del archivo

Puedes usar el '1d' opción para eliminar la primera línea del archivo. Por ejemplo, tiene un archivo CSV y desea eliminar la línea de título. Use el siguiente comando para eliminar la primera línea con SED.

SED '1D' file_name  

Aquí '1' representar a la primera línea y el 'd' se usa para eliminar. Así que combinando el '1d' elimina la primera línea del archivo. Vea el siguiente ejemplo:

Ejemplo de comando SED para eliminar la primera línea del archivo

Puedes ver que el 'sed' El comando eliminó la primera línea de la salida.

2. Eliminar la última línea del archivo

Use el parámetro de gravámenes del comando '$ D' con SED para eliminar la última línea o la línea de pie de página de una multa. El siguiente comando eliminará la última línea del archivo_name.archivo CSV.

Sed '$ d' file_name 

En el comando anterior ps representar la última línea del archivo y 'd' es eliminar esa línea.

Ejemplo de comando SED para eliminar la última línea desde el archivo

3. Eliminar una línea específica por número

Puede especificar el número de línea seguido de 'd' para eliminar esa línea específica. Por ejemplo, para eliminar el quinto archivo del archivo, ejecute:

Sed '5d' file_name.CSV  

4. Eliminar el rango de líneas

SED también permite eliminar una variedad de líneas del archivo. Podemos especificar la línea de inicio y el número de línea de finalización con un comando separado. Veamos el siguiente ejemplo:

SED '2,5D' file_name 

El comando anterior eliminará el número de línea de 2 a 5 del archivo dado.

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

Usa la negación (!) Operador con opción D en el comando SED. El siguiente comando SED elimina todas las líneas excepto la línea de encabezado.

sed '1!d 'file_name 

6. Eliminar líneas que no sean la última línea

Usa la negación (!) Operador con opción D en el comando SED. El siguiente comando SED elimina todas las líneas excepto la línea de encabezado.

sed '$!d 'file_name 

7. Eliminar líneas distintas al rango especificado

Usa la negación (!) Operador con opción D en el comando SED. El siguiente comando SED elimina todas las líneas excepto la línea de encabezado.

sed '2,5!d 'file_name 

8. Eliminar la primera y la última línea

sed '1d; $ d' file_name 

9. Eliminar líneas vacías o líneas en blanco

El comando SED se puede usar para eliminar líneas vacías 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 vacías del archivo especificado. Cualquier línea contiene un solo espacio no se considera como una sola línea.

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

Sed '/^t/d' Números.CSV 

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

Sed '/t $/d' Números.CSV 

12. Eliminar líneas que contienen un patrón

Números Sed '/Pattern/D'.CSV 

Conclusión

Siempre es necesario limpiar los archivos de texto antes del procesamiento adicional, ya que pueden tener caracteres no deseados, como Tab, Newline, Space, etc. SED ofrece varias formas de eliminar líneas, palabras o incluso caracteres de un archivo. Simplemente coloque la operación deseada en el símbolo del sistema, y ​​ya está terminado!