2010-06-24 17 views
5

Wir haben eine Shell-Skript-Datei mit dem Namen LineFeed.sh, die eine Funktion zum Umwandeln eines Zeilenvorschubs (LF) in Carriage Return + LineFeed ausführt. Wir wollen das Gleiche mit einer Batch-Datei in Windows machen. Ist es möglich?Batch-Datei + LF in CR + LF konvertieren

Linux-Shell-Datei

E_WRONGARGS=65 
cat OutputList|while read -r Line 
do 
if [ -z "$Line" ] 
then 
echo "Usage: `basename $0` filename-to-convert" 
exit $E_WRONGARGS 
fi 
NEWFILENAME=$Line.unx 
CR='\015' # Carriage return. 
     # 015 is octal ASCII code for CR. 
     # Lines in a DOS text file end in CR-LF. 
     # Lines in a UNIX text file end in LF only. 
tr -d $CR < $1 > $NEWFILENAME // here its deleting CR but i need to append LF 
# Delete CR's and write to new file. 
done 
echo "Original DOS text file is \"$1\"." 
echo "Converted UNIX text file is \"$NEWFILENAME\"." 
exit 0 
+0

http://www.google.com/search?q=unix2dos.bat – Heinzi

+2

@Heinzi: http://meta.stackexchange.com/questions/5280/embrace-the-non-googlers – Joey

+0

@Johannes: Eigentlich , mein Kommentar googelte nicht nur die Frage, sondern enthielt eine Antwort. Ja, ich war übermäßig kurz; Die ausführliche Version wäre: "Sie müssen das nicht selbst tun; es gibt ein Skript namens unix2dos, das genau das tut, was Sie wollen, und es gibt Windows-Ports, normalerweise' unix2dos.bat' genannt. Wenn Sie nach diesem Schlüsselwort googlen, Sie werden viele Quellen finden, um es herunterzuladen. " (Trotzdem, ich verstehe Ihren Punkt, danke für den Link.) – Heinzi

Antwort

13

Sie einen Weg, auf this Wikipedia page finden:

TYPE unix_file | FIND "" /V > dos_file 

Denken Sie daran, dass Sie die Ausgabe auf die gleiche Datei umleiten können Sie von hier lesen. Dies gilt für fast alle Systeme und Shells, daher ist ein zusätzliches Umbenennen notwendig.

Der Schlüssel hier ist, dass type weiß, wie LF Zeilenendungen zu lesen und find wird dann konvertieren sie CRLF. type allein wird nichts mit der Ausgabe tun (es soll, denn mit einem Befehl, der einfach den Inhalt der Datei dumps mit ihnen ist nicht gut :-)).

+3

Ihr Punkt ist? – Joey

Verwandte Themen