Cómo eliminar líneas vacías usando SED

Cómo eliminar líneas vacías usando SED
Hay dos métodos posibles para eliminar líneas vacías de un archivo de texto usando SED; Los métodos se enumeran a continuación y se discuten en detalle en la próxima parte de esta guía.
  • Método 1: Cómo eliminar todas las líneas vacías en un archivo de texto usando SED
  • Método 2: Cómo eliminar líneas específicas del archivo de texto usando SED

Método 1: Cómo eliminar todas las líneas vacías en un archivo de texto usando SED

Antes de profundizar en la profundidad de este método, comprendamos la sintaxis para eliminar las líneas vacías usando SED:

Sintaxis

sed [opciones] '/^$/d' [Nombre del archivo]

El '/^$/D'es la parte central de este comando; dónde "^"El símbolo muestra que la eliminación debe ejecutarse desde los medios iniciales desde la primera línea; "ps"Representa que debe ir hasta la última línea del archivo de texto y"d"Muestra que la eliminación está en progreso.

Esta sección lo guiará para eliminar todas las líneas en un archivo de texto con la ayuda de Stream Editor (SED):

Hemos creado un archivo de texto "borrar.TXT; En primer lugar, obtenga el contenido de este archivo usando "gato"Comando como se da a continuación y hemos usado"-norte"Opción con él, para que también podamos obtener los números de línea:

Se observa que hay múltiples líneas vacías, y están afectando la estética de este archivo de texto y los lectores no pueden prestar atención a dicho contenido.

$ Cat -N Eliminar.TXT

Entonces, para evitar la situación mencionada anteriormente; Debe eliminar las líneas vacías para optimizar el proceso de lectura; El comando mencionado a continuación eliminará todas estas líneas del "borrar.TXT" archivo.

Ahora puede notar que las líneas vacías se lavan y solo se imprimen esas líneas que contienen algún texto, pero el resultado solo se muestra en el terminal, mientras que el archivo original sigue siendo el mismo:

$ sed '/^$/d' Eliminar.TXT

Si desea eliminar las líneas vacías y actualizar el archivo original también, debe usar la opción en el lugar "-i"Y el comando a continuación te ayudará a hacerlo:

$ sed -i '/^$/d' Eliminar.TXT

Método 2: Cómo eliminar las líneas vacías seleccionadas en un archivo de texto usando SED

La sintaxis para eliminar líneas específicas en un archivo de texto se escribe a continuación:

Sintaxis

sed [opciones] '(number de línea) d' [nombre de archivo]

La parte principal de la sintaxis en la que se basa el comando es "(número de línea) D '"; tienes que poner el número de línea exacto de la línea vacía en "(número de línea)"Y la carta"d"Muestra el número de línea insertada se eliminará:

Puede eliminar algunas líneas específicas dentro de un archivo de texto usando el comando SED; Hemos creado un nuevo archivo de texto "nuevo.TXT"Para esta sección. Por ejemplo, la salida del siguiente comando muestra ese número de línea "2" esta vacio:

$ Cat -N Newfile.TXT

Y si desea ejecutar el comando para eliminar esta línea solo, debe especificar el número de línea como lo hicimos en el comando mencionado a continuación:

$ sed '2d' Newfile.TXT

También puede eliminar líneas consecutivas utilizando este método; Por ejemplo, el "nuevo.TXT"El archivo tiene 3 líneas vacías"4,5,6"Como se puede ver en la imagen a continuación:

$ Cat -N NUEVO.TXT

Para eliminar estas tres líneas consecutivas; debes insertar ","Entre los números de línea inicial y final, como se puede ver en el comando a continuación:

$ sed '4,6d' nuevo.TXT

Por último, también puede usar la opción en su lugar "-i"Para guardar los cambios de forma permanente en el archivo, ya que sin esta opción, el comando SED imprime el resultado en el terminal, ya que hemos modificado el comando anterior para usarlo con"-i" opción:

$ sed -i '4,6d' nuevo.TXT

Conclusión

Ubuntu admite múltiples formas de manipular los datos en un archivo de texto; Por ejemplo, puede usar el editor de texto predeterminado de Ubuntu, el editor nano, etc. Sin embargo, la utilidad de la línea de comandos SED de Ubuntu está liderando a todos estos editores debido a sus funcionalidades, como acceder al archivo desde el terminal y hacer cambios sin abrirlo. En este artículo, hemos utilizado el comando SED para eliminar las líneas vacías del archivo de texto y describimos dos métodos para esta operación. "Método 1"Es adecuado específicamente cuando tiene cientos de líneas en un archivo de texto y desea eliminar todas las líneas vacías a la vez: por otro lado,", ","Método 2"Es adecuado para eliminar las líneas vacías en un pequeño documento donde puede eliminar las líneas una por una. Sin embargo, debes buscar líneas vacías tú mismo, si quieres seguir "Método 2": Entonces, si la comparación se dibuja entre ambos métodos", "Método 1"Outperforms"Método 2"Sobre la eliminación de líneas vacías.