テキストファイルで改行文字を決定しますか?

テキストファイルで改行文字を決定しますか?

テキストが与えられたら、Windows、Mac、またはLinuxで改行文字が何であるかを検出できるプログラムはありますか?

たとえば、次のテキストは次のように表示されます。less

メモリ: ^M^Mi は CPU^M^M から直接アクセスするメモリです。 「メモリ」という用語は、一般に(常にそうではないが)アドレス指定可能な半導体メモリ、すなわちシリコンベースのトランジスタからなる集積回路に関する。 ^M半導体メモリは^ Mメモリセルで構成されています。

私は^MこのMacでは改行文字だと思いました。しかし、emacsはCtrl-q Ctrl-mで検索しましたが、結果は見つかりませんでした。

ありがとうございます。

答え1

fileテキストファイルの行末が報告されます。fileたとえば、ASCII Unix/Linux/OSX テキストファイルで実行すると、次のように報告されます。

$ file test.txt
test.txt: ASCII text

ただし、ファイルにDOS / Windows行末がある場合は、次のように報告されます。

test.dos: ASCII text, with CRLF line terminators

OS 9以前は、MacでCRを行末として使用していました。そのファイルがある場合は、次のように報告さfileれます。

test.mac: ASCII text, with CR line terminators

OSXでは、Macは標準のUnix行末に変換されます。

関連情報