Определить символ новой строки в текстовом файле?

8

с учетом текста, есть ли программа, которая может определить символ новой строки, Windows, Mac или Linux?

Например, следующий текст показан less

запоминание: ^ M ^ Несоответствие памяти, непосредственно доступное для CPU ^ M ^ MТермин «память» часто (но не всегда) ассоциируется с адресуемой полупроводниковой памятью, то есть интегральными схемами, состоящими из кремниевых транзисторов. ^ MTПроводниковая память организована в ^ Ячейки памяти

Я думал, что ^ M - символ новой строки под Mac. Но в emacs я искал по Ctrl-q Ctrl-m и ничего не нашел.

Спасибо.

Тим
источник
1
fileкоманда может дать подсказку, dos2unixможет также помочь.
Архемар

Ответы:

9

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.

John1024
источник
Если текстовый файл представляет собой смесь текста из Linux, Mac и Windows. Будет ли fileсообщаться правильный символ новой строки?
Тим
@Tim Я проверил его на нескольких смешанных файлах, и он правильно сообщил о смешанных окончаниях. Например, со всеми тремя типами сообщается ASCII text, with CRLF, CR, LF line terminators.
John1024
Я попробовал это, и это дало мне ASCII text, with very long lines. Терминаторы - НЧ
слова для этого
@wordsforhewise LF терминаторы - это стандарты Unix и Linux. Если файл имеет LF-терминаторы, то fileне упоминается, какие терминаторы используются. Смотрите первый пример в ответе выше. Терминаторы упоминаются только в том случае, если в файле есть не-Unix терминаторы. Смотрите второй и третий примеры в ответе выше. Отдельно, вероятно, ваш файл имеет одну или несколько длинных строк.
John1024
1
Да, я понимаю. Я просто подумал, что это было забавно, он сказал: «очень длинные строки»
словами «