Saya bertanya-tanya mengapa jika Anda membuka file teks yang dibuat di notepad Windows di bawah unix Anda akan menemukan bahwa ia memiliki di ^M
mana harus ada baris baru?
Pemahaman saya adalah bahwa di Windows, setiap baris diakhiri dengan \r\n
, yaitu 0x0D0A
dalam ASCII, sementara ^M
memiliki nilai ASCII 0x5E4D
. Saya tidak bisa menghubungkan keduanya dari satu ke yang lain.
Jawaban:
Anda benar tentang akhir baris menjadi penting; kedua OS mengharapkan baris diakhiri dengan "\ n", tetapi Windows juga menambahkan "\ r" sebelum unix itu tidak diharapkan, jadi program unix akan menampilkan "\ r" dengan cara mereka sendiri.
File tidak benar-benar berakhir dengan dua karakter "^" dan "M", itu hanya cara yang umum untuk mewakili karakter yang tidak diinginkan. Program akan menampilkan "^" dan huruf yang sesuai dengan nilai byte, dimulai dengan A untuk 1. M adalah huruf ke-13, dan '\ r' adalah kode ASCII 13 (atau 0xD, seperti yang Anda katakan), jadi Anda melihat "^ M "
sumber
dos2unix
danunix2dos
untuk mengkonversi file teks antar format.^J
untuk output pemirsa teks\n
?