Saltar al contenido

Pruebas de nueva línea

Archivos de texto gratis con finales de linea LF (Unix), CRLF (Windows), CR (Mac clasico) y mixtos, para probar conversion y compatibilidad.

Un archivo de texto que usa LF (Unix)

lf.txt / 704 B

Un archivo de texto que usa CRLF (Windows)

crlf.txt / 714 B

Un archivo de texto que usa CR (Mac clásico)

cr.txt / 704 B

Un archivo de texto que usa Saltos de línea mezclados

mixed.txt / 708 B

Importancia de las pruebas de fines de línea

Los fines de línea difieren por SO: Unix/Linux/macOS usan LF, Windows CRLF, Classic Mac OS CR.

Úsalos para verificar el manejo de fines de línea en Git, herramientas de texto y lenguajes.

📖 Dónde se suele tropezar

El mismo contenido escrito con LF (Unix), CRLF (Windows), CR (Mac clasico) y una mezcla deliberada. Los finales de linea cambian el comportamiento sin verse, lo que los coloca entre los fallos de texto mas dificiles de rastrear. A simple vista no se distinguen, asi que probar con el archivo real es el camino corto.

Caso Qué ocurre Qué hacer
git diff marca todas las lineas como cambiadas Sin tocar un solo caracter, todas las lineas difieren si los finales pasaron de LF a CRLF. Lo hace en silencio un ajuste del editor o el sistema operativo. Pon * text=auto en .gitattributes y fija los archivos que lo necesiten: *.sh text eol=lf para scripts y configuracion.
Un script de shell con CRLF no arranca El final se le pasa al shell como parte del comando. bash: $' ': command not found y syntax error near unexpected token son los sintomas habituales. Ejecuta file script.sh; with CRLF line terminators lo confirma. Quitalos con tr -d ' ' < in > out. Mas seguro aun: convierte en el servidor en lugar de copiar directamente desde Windows.
Queda un al final de cada cadena leida Al leer un archivo CRLF linea a linea, muchos lenguajes toman solo como separador y dejan el dentro del valor. Las comparaciones dejan de coincidir y la conversion numerica falla. Recorta nada mas leer: rtrim($line, " ") en PHP, line.rstrip() en Python. Cuando los bytes sueltos estan a mitad del fichero y no en los extremos, normaliza con el conversor de finales de linea.

Los archivos mezclados son el caso incomodo. LF en la primera mitad y CRLF en la segunda es un resultado perfectamente normal de que dos personas editen en maquinas distintas. El comando file solo informa de la primera forma que encuentra, asi que contar con grep -c $' ' es la manera fiable de detectar una mezcla.