jak sprawdzić koniec wiersza pliku tekstowego, aby sprawdzić, czy jest to format uniksowy czy dosowy?

Muszę przekonwertować plik tekstowy na format dos (kończąc każdy wiersz za pomocą0x0d0x0araczej niż0x0a tylko), jeśli plik ma format uniksowy (0x0a tylko na końcu każdej linii).

Wiem, jak to przekonwertować (sed 's/$/^M/'), ale nie w jaki sposób wykrywać znaki końca pliku.

Używam ksh.

Każda pomoc byłaby doceniana.

[Aktualizacja]: Rodzaj zorientował się, a oto mój skrypt ksh do wykonania sprawdzenia.

[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

W powyższym skrypcie^M należy wstawićvi zCtrl-V iCtrl-M.

Chcesz wiedzieć, czy istnieje lepsza metoda.

questionAnswers(6)

yourAnswerToTheQuestion