Как проверить конец текстового файла, чтобы увидеть, если это формат Unix или DOS?

Мне нужно преобразовать текстовый файл в формат DOS (заканчивая каждую строку0x0d0x0a, скорее, чем0x0a только), если файл в формате unix (0x0a только в конце каждой строки).

Я знаю как его конвертировать (sed 's/$/^M/'), но неКак определить, какие символы в конце строки указаны в файле.

Я использую Ksh.

Любая помощь будет оценена.

[Обновление]: Вроде разобрался, и вот мой скрипт ksh для проверки.

[qiangxu@host:/my/folder]# cat eol_check.ksh
#!/usr/bin/ksh

if ! head -1 $1 |grep ^M$ >/dev/null 2>&1; then
  echo UNIX
else
  echo DOS
fi

В приведенном выше сценарии^M должен быть вставлен вvi сCtrl-V а также .Ctrl-M

Хотите знать, есть ли лучший метод.

Ответы на вопрос(6)

Ваш ответ на вопрос