#!/bin/bash
## File: ~/bin/myDos2Unix
## Author: Jörg Reinholz, www.fastix.org
## Licence: https://code.fastix.org/lizenz.php
## Version: 1.2.2 from 2016-10-22
if [ -z "${1}" ]; then
echo "Bereinigt Dateien um carriage returns (\r)";
echo "Usage: myDos2Unix DATEI [DATEI2] ...";
exit 1;
fi
exitCode=0;
while (($#)); do
if [ -f "${1}" ]; then
if [ -w "${1}" ]; then
info=$(file "${1}");
isElf=$(echo ${info} | grep '^ELF' | wc -l);
isText=$(echo ${info} | grep -i 'text' | wc -l);
isCRLF=$(echo ${info} | grep -i 'with CRLF' | wc -l);
if [ "${isElf}" = "0" ] && [ "${isText}" = "1" ]; then
if [ "${isCRLF}" = "1" ]; then
echo -n "Bereinige Datei \"${1}\" ... ";
tmpfile=$(mktemp);
tr -d "\r" < "${1}" > ${tmpfile};
cat < ${tmpfile} > "${1}";
rm ${tmpfile};
echo "erledigt.";
else
echo "Notiz: Die Datei \"${1}\" enthält keine carriage returns und wird übergangen.";
exitCode=0;
fi
else
echo "Notiz: Die Datei \"${1}\" ist binär und wird übergangen.";
exitCode=1;
fi
else
echo "Notiz: Sie haben kein Schreibrecht an der Datei \"${1}\". Sie wird übergangen.";
exitCode=1;
fi
else
if [ -d "${1}" ]; then
echo "Notiz: Das Verzeichnis \"${1}\" wird übergangen.";
exitCode=1;
else
echo "Notiz: Die Datei \"${1}\" existiert nicht oder ist keine reguläre Datei. Die Datei \"${1}\" wird übergangen.";
exitCode=1;
fi
fi
shift;
done
exit ${exitCode};