Quitar líneas vacías

Elimina líneas vacías o solo espacios.

Descripción

Las líneas vacías son la basura invisible de los archivos de texto. No aparecen como problemas en pantalla, no tienen contenido útil, pero ocupan espacio, distorsionan el recuento de líneas y se convierten en ruido en los diffs de código y las comparaciones de archivos. El problema es que el concepto de vacía no es universalmente acordado: una línea sin ningún carácter antes del salto de línea es vacía según cualquier criterio; pero una línea que contiene solo espacios y tabulaciones no tiene contenido visible y generalmente también es indeseable.

La fuente más común de líneas en blanco adicionales es pegar contenido de múltiples orígenes. Un párrafo copiado de un sitio web, una lista pegada desde una hoja de cálculo, un fragmento de log extraído de una terminal: cada fuente tiene su propia convención de espaciado vertical. El resultado es un texto lleno de huecos irregulares que dificultan la lectura y el procesamiento más de lo necesario.

En el procesamiento de texto por línea de comandos, herramientas como sed y awk llevan décadas con comandos clásicos para esto, porque el problema lleva décadas existiendo. En Python, una simple comprensión de lista con .strip() lo resuelve en una sola expresión. Estos patrones siguen siendo relevantes cada vez que alguien pega texto de distintas fuentes.

Detalle técnico

Qué cuenta como línea vacía

  • Línea completamente vacía: la secuencia de fin de línea (LF, CRLF o CR) aparece inmediatamente después de otra. No hay absolutamente ningún carácter entre los dos saltos.
  • Línea solo con espacios en blanco: contiene uno o más espacios, tabulaciones u otros caracteres de espaciado, pero ningún carácter visible. Visualmente indistinguible de una línea vacía en la mayoría de los editores.
  • La opción de eliminar también las líneas con solo espacios quita las que contienen únicamente caracteres de espacio Unicode (incluido el espacio de no separación, U+00A0), pero conserva las líneas con cualquier carácter visible.
  • Fin de archivo sin salto de línea final: algunos editores añaden una línea vacía implícita al final del archivo. Esto es distinto de una línea en blanco real y normalmente no debería eliminarse.

Casos de uso frecuentes

  • Limpiar texto copiado de PDFs, que frecuentemente introduce líneas en blanco entre párrafos durante la extracción.
  • Normalizar archivos de configuración INI, TOML o properties que han acumulado líneas en blanco tras ediciones manuales.
  • Preparar listas de palabras clave o etiquetas para procesamiento automatizado, eliminando entradas vacías que producirían elementos nulos al dividir por línea.
  • Reducir el tamaño de archivos de log antes de enviarlos por correo o subirlos a tickets de soporte.
  • Eliminar los dobles saltos de párrafo en Markdown antes de convertir a HTML, cuando el formato destino no usa espaciado extra.

Guía de la herramienta

  • Con qué trabajas Texto multilínea.

  • Qué hace la herramienta Elimina líneas completamente vacías y, opcionalmente, líneas que solo tienen espacios o tabuladores.

  • Por qué usarla Compactar logs, poemas, CSV pegado o cualquier bloque donde las líneas en blanco estorben al procesar o leer.

Fragmentos de Código

Eliminar líneas vacías en JavaScript
// Elimina líneas completamente vacías
const resultado = text
  .split('\n')
  .filter(line => line.length > 0)
  .join('\n');

// Elimina también las líneas con solo espacios
const resultadoTrim = text
  .split('\n')
  .filter(line => line.trim().length > 0)
  .join('\n');
Equivalente en Python
# Eliminar líneas vacías
resultado = '\n'.join(linea for linea in texto.splitlines() if linea)

# Eliminar también líneas con solo espacios
resultado = '\n'.join(linea for linea in texto.splitlines() if linea.strip())

Antes

a

  
b → a
b (com opção de ignorar só espaços)

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.