Gibt es bei einem gegebenen Text ein Programm, das erkennen kann, um welches neue Zeilenzeichen es sich handelt, das Windows-, Mac- oder Linux-Zeichen?
ZB wird der folgende Text durch gezeigt less
memor: ^ M ^ Mis Speicher, auf den die CPU direkt zugreifen kann ^ M ^ Der Begriff "Speicher" wird häufig (aber nicht immer) mit adressierbarem Halbleiterspeicher assoziiert, dh integrierten Schaltkreisen, die aus Transistoren auf Siliziumbasis bestehen. ^ Der Halbleiterspeicher ist in ^ organisiert Speicherzellen
Ich dachte ^ M ist das neue Zeilenzeichen unter Mac. Aber in Emacs habe ich nach Strg-q Strg-m gesucht und nichts gefunden.
Vielen Dank.
file
Befehl sollte einen Hinweis geben,dos2unix
könnte auch helfen.Antworten:
file
wird über Zeilenenden für Textdateien berichten. Wenn Sie beispielsweisefile
eine ASCII-Unix / Linux / OSX-Textdatei ausführen , wird einfach Folgendes gemeldet:Wenn die Datei jedoch DOS / Windows-Zeilenenden hat, wird stattdessen Folgendes gemeldet:
Bis OS 9 verwendeten Macs CR als Zeilenende. Wenn eine solche Datei angezeigt wird,
file
wird Folgendes gemeldet:Unter OSX wurden Macs in Standard-Unix-Zeilenenden konvertiert.
quelle
file
immer noch das richtige neue Zeilenzeichen gemeldet?ASCII text, with CRLF, CR, LF line terminators
.ASCII text, with very long lines
. Die Terminatoren sind LFfile
wird nicht erwähnt, welche Terminatoren verwendet werden. Siehe das erste Beispiel in der obigen Antwort. Terminatoren werden nur erwähnt, wenn die Datei Nicht-Unix-Terminatoren enthält. Siehe das zweite und dritte Beispiel in der obigen Antwort. Unabhängig davon ist es wahrscheinlich, dass Ihre Datei eine oder mehrere lange Zeilen enthält.