[linux-l] dos2unix
Volker Grabsch
vog at notjusthosting.com
So Mär 11 16:47:08 CET 2007
On Fri, Mar 09, 2007 at 10:33:27AM +0100, Manuel Tennert wrote:
> ich habe gerade ein Problem bei einem unserer Kunden.
> In einem Perl-Script verwende ich auch den dos2unix Befehl, leider
> kommen beim Kunden andere Resultate bzw. andere Kodierungen heraus, als
> auf unserer Maschine, Ausgangsdaten sind die gleichen.
> Betriebssystem Kunde: Solaris 10
> Betriebssystem wir: Solaris 9
Bei mir ist das sogar noch schlimmer: Ich habe Zeilenenden-Probleme
zwischen Linux, Solaris und Windows/MinGW zu koordinieren. Und
dos2unix finde ich nicht überall vor.
Wenn ich portable Shellscripte schreibe, mach ich das daher immer
per Hand. Hier einige Varianten, je nach Geschmack:
dos2unix:
sed 's/\r//' < dos.txt > unix.txt
sed 's/\r$//' < dos.txt > unix.txt
tr -d '\r' < dos.txt > unix.txt
unix2dos:
sed 's/$/\r/' < unix.txt > dos.txt
awk '{print $0"\r"}' < unix.txt > dos.txt
Da weiß man wenigstens genau, was passiert.
> Im großen und ganzen geht es darum, dass der Kunde unter Windows
> XML-Daten bearbeiten, diese aber im Unix-Format in ein System eingelesen
> werden müssen, daher auch die Konvertierung.
Dann solltet ihr diesem "System" mal die XML-Standard beibringen. Ich
kenne keinen einzigen ernstzunehmenden XML-Parser, bei dem die
Zeilenenden irgendeinen Unterschied machen. Zwischen den Tags sind das
ja "ignorable whitespaces".
Oder habt ihr *innerhalb* der Tags einen Text mit Zeilenumbrüchen?
Dann herzliches Beileid! Falls irgendwie möglich, sollten diese
Textabschnitte standardisiert werden, und endgültig festgelegt
werden, ob diese Unix- oder Windows-Zeilenenden haben sollen.
Oder es so geschickt definieren, wie das in HTML gemacht wird:
Leerzeichen und Zeilenumbrüche gelten alle nur als Leerzeichen. Absätze
werden durch gesonderte Tags <p>...</p> markiert.
Ich sehe hier auf jeden Fall ein tieferes Problem mit dem Datenformat.
Gerade bei XML hat man die Chance, System-Eigenheiten auszubügeln,
sodass solche Konvertierungs-Aktionen nicht mehr nötig sind. Diese
Chance sollte man auch nutzen.
Viele Grüße,
Volker
--
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR
Mehr Informationen über die Mailingliste linux-l