comment vérifier en fin de ligne d'un fichier texte pour voir si c'est unix ou dos format?

J'ai besoin de convertir le fichier texte au format dos (en terminant chaque ligne avec 0x0d0x0a, plutôt que de 0x0a seulement), si le fichier est au format unix (0x0a seulement à la fin de chaque ligne).

Je sais comment faire pour le convertir (sed 's/$/^M/'), mais n'est pas de savoir comment détecter la fin-de-ligne de caractère(s) d'un fichier.

Je suis à l'aide de ksh.

Toute aide serait appréciée.

[Mise à jour]:
Genre de pensé à elle, et voici mon script ksh pour faire le chèque.

[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

Dans le script ci-dessus, ^M doit être inséré dans le vi avec Ctrl-V et Ctrl-M.

Veux savoir si il y a une meilleure méthode.

OriginalL'auteur Qiang Xu | 2013-08-06