Me preguntaba por qué si abres un archivo de texto hecho en el bloc de notas de Windows en Unix, ¿encontrarás que tiene ^Mdonde debería haber una nueva línea?
Entiendo que en Windows, cada línea termina con \r\n, es decir, 0x0D0Aen ASCII, mientras que ^Mtiene un valor ASCII 0x5E4D. No puedo relacionar estos dos de uno a otro.

Respuestas:
Tienes razón acerca de que los finales de línea son importantes; ambos sistemas operativos esperan que la línea termine con "\ n", pero Windows también agrega un "\ r" antes de que unix no espere, por lo que los programas de Unix generarán "\ r" a su manera.
El archivo en realidad no termina con los dos caracteres "^" y "M", esa es solo una forma común de representar caracteres no imprimibles. Los programas mostrarán "^" y una letra correspondiente al valor del byte, comenzando con A para 1. M es la letra 13 y '\ r' es el código ASCII 13 (o 0xD, como usted dijo), así que verá "^ METRO"
fuente
dos2unixyunix2dosconvertir archivos de texto entre formatos.^Jpara\n?