
Esta preguntayesta preguntaSeñale que generalmente el estándar es finalizar los archivos de texto con caracteres de nueva línea para cumplir con el estándar POSIX, y esto es algo que se espera con las herramientas GNU y otras herramientas compatibles con POSIX.
Sin embargo, como desarrollador de C#, sé que las herramientas que funcionan con csproj
archivos generalmente no incluyen un carácter de nueva línea final. También he visto herramientas que eliminan la nueva línea final de archivos json
y xml
. Creo que tiene sentido evitar incluir una nueva línea al final de los archivos de texto si las herramientas comunes que trabajan con los archivos terminarían eliminándolos nuevamente.
Entonces, ¿cuáles son algunos tipos de archivos de texto que no deberían terminar con caracteres de nueva línea debido a las herramientas?
Respuesta1
Aunque no es exactamente un archivo de texto, un enlace simbólico es efectivamente un archivo pequeño que contiene un fragmento de texto (a menudo encaja en el propio inodo, por lo que no es necesario asignar bloques de datos al archivo).
Un enlace simbólico puede terminar con una nueva línea, pero en las circunstancias más comunes no debería ser así.
Otro tipo de archivo que no debería (bueno, no puede) terminar con una nueva línea es el archivo vacío.
En UNIX, un archivo de texto está vacío o contiene una o más líneas posiblemente vacías, cada una de las cuales termina con una nueva línea. Si la última línea no termina con una nueva línea, el archivo no es un archivo de texto adecuado.
El archivo vacío no contiene ningún byte; en el momento en que agrega una nueva línea, cambia su "tipo" de vacío a no vacío.
Respuesta2
un archivo de texto utilizado como entrada para los términos de búsqueda procesados por grep -f
no debe terminar con una nueva línea(** en editor de texto)de lo contrario eso coincidiría con todo
Puedes probarlo tú mismo con este ejemplo.
grep no encuentra todas las instancias del gen
Editar:tenga en cuenta que la pregunta trata sobre recopilar ejemplos donde"Los archivos de texto no deberían terminar con caracteres de nueva línea debido a las herramientas".Aunque mi primera afirmación no se aplica en general, es un ejemplo perfecto de tal"tipo de archivo de texto"(archivo creado por el editor de texto) y, por lo tanto, válido en el contexto de la pregunta, porque eso es lo que todos experimentan cuando usan un editor de texto.
No significa una declaración amplia con respecto al \n
carácter de nueva línea en el nivel del sistema de archivos, sino un ejemplo de caso de esquina de unusuario normalperspectiva
gracias @Kusalananda @ilkkachu por aclarar que en realidad son dos \n\n
caracteres de nueva línea (aunque el editor de texto agrega uno silenciosamente y, por lo tanto, es invisible)