Cómo eliminar líneas en blanco en un archivo en Linux

Las líneas en blanco no siempre son deseables y es posible que sienta la necesidad de eliminarlas y dejar solo aquellas líneas que contienen texto. Linux ofrece varias expresiones de manipulación de texto que puede utilizar para omitir o eliminar líneas en blanco. Echemos un vistazo a algunas herramientas de línea de comandos que puede utilizar para eliminar líneas en blanco en un archivo de texto.

Usamos CentOS 8 con fines de demostración.

Eliminar líneas en blanco con el comando grep

Grep es una de las herramientas más potentes y versátiles que puede ayudarte a eliminar líneas en blanco innecesarias en tus archivos de texto. Normalmente, el comando grep se utiliza para comprobar líneas o patrones de caracteres en un archivo de texto, pero como verá en breve, también puede ayudarle a deshacerse de líneas en blanco no deseadas.

Cuando se usa con la opción -v, el comando grep ayuda a eliminar líneas en blanco. A continuación se muestra un archivo de texto de muestra sample.txt con líneas alternativas en blanco y no en blanco.

Para eliminar o eliminar todas las líneas en blanco en un archivo de texto de muestra, use el comando grep como se muestra.

$ grep -v '^[[:space:]]*$' sample.txt

Alternativamente, puede utilizar la siguiente sintaxis.

$ grep -v ?^$? sample.txt

Además, puede guardar o redirigir la salida a otro archivo usando, por ejemplo, el operador mayor que (>).

$ grep -v ?^$? sample.txt > output.txt

Eliminar líneas en blanco con el comando sed

Abreviado como editor de secuencias, el comando sed de Linux es una herramienta popular que realiza una amplia variedad de funciones, incluido el reemplazo de líneas en un archivo.

Además, también puedes usar sed para eliminar líneas en blanco en el archivo como se muestra a continuación.

$ sed ?/^$/d? sample.txt

Eliminar líneas en blanco con el comando awk

Finalmente, tenemos el comando awk. Esta es otra herramienta de línea de comandos para administrar mensajes de texto que también puede eliminar las líneas en blanco. Para eliminar un archivo vacío usando awk, ejecute el siguiente comando.

$ awk ?{if(NF>0) {print $0}}? sample.txt

Conclusión

Hemos proporcionado 3 métodos que pueden resultar útiles para eliminar líneas en blanco en archivos de texto. ¿Existe alguna otra idea sobre cómo eliminar estas líneas en blanco innecesarias? No dude en contactarnos en la sección de comentarios.

Artículos Relacionados