Eliminar de un Fichero el ^M característico de Windows

En el momento en el que editamos un script en windows, o el mismo sistema accede a él para analizarlo por virus, etc. por alguna razón inexplicable añade al inicio del fichero el carácter ^M de DOS que evita su ejecución posterior en cualquier shell de linux.
Para solucionar esto he encontrado este script que podréis utilizar para «limpiar» vuestros ficheros:

#!/bin/sh
#Nombre del Fichero: undos.sh
if [ $# -eq 0 ]
then
echo "Uso: undos [archivo]"
fi
for file
do
tr -d '15' <$file >/tmp/.undos.$$
mv /tmp/.undos.$$ $file
done

Ejecución:

usuario@localhost:~$ undos 
1