[linux-l] dos2unix

Volker Grabsch vog at notjusthosting.com
Fr Mär 30 00:07:58 CEST 2007


On Wed, Mar 28, 2007 at 11:02:06PM +0200, Steffen Dettmer wrote:
> * Oliver Bandel wrote on Sat, Mar 24, 2007 at 15:43 +0100:
> > > In der Praxis muss man aber ein \r nicht unbedingt erwarten, oder ;) ?
> > 
> > Sonderfälle unberücksichtigt zu lassen ist aber nicht die
> > solideste Herangehensweise.
> 
> Wenn man ein Text mit einzelnem \r hat, hat man wohl keinen DOS-Text.

Du definierst Randfälle einfach als nichtexistent? Ist das ein
schlechter Scherz?

Natürlich hab ich keinen DOS-Text, sondern einen Unix-Text, der
leider DOS-Zeilenenden bekommen hat. Und den will ich wieder
zurückhaben, daher das Script.

Passiert ganz schnell, wenn man ein Shell-Script zusammenbaut,
per Mail woanders hin schickt (als text/plain-Attachment), wo
es unter Windows mit dem Mailprogramm empfangen wird und von
dort aus auf nen Unix-Server gepackt wird.

Oder willst du mir jetzt erklären, dass ein Shell-Script, das
mitten in einer Zeile \r enthält, kein Shell-Script ist?

> Na ja, jedenfalls merke ich bei der Arbeit mit cygwin, dass das alles
> ein grosses, leidiges Thema ist.

Ist bei MSYS genauso. Das einzige, was hilft: Zeilenenden so
lassen, und unter Windows sich einen Editor holen, der nicht
eigenmächtig konvertiert, sondern Unix-Zeilenenden liest und
genauso wieder schreibt.

Genauso wie auch der vi Dateien mit DOS-Zeilenenden lesen
kann und genauso wieder rausschreibt.

> Richtig wäre wohl, überhaupt keine Ersetzung zu machen.
> Interessanterweise gehen Unix-LFs bei den Windows-Compilern z.B. auch;
> z.B. CL.EXE von MS Developer Studio. Der Editor zeigt die Files sogar
> an. Bloss ändern sollte man sie nicht: neue Zeilen sind dann mit
> DOS-LFs, die restlichen (alten) mit Unix-LFs, da sind wir alle ganz
> stolz auf dieses Verhalten ;)

Es gibt wohl auch andere Editoren, die diesen Mist verzapfen.
Habe ebenfalls so einen Kandidaten, muss mal fragen, welchen
Editor er benutzt. Lässt sich aber alles mit einem sauberen

    sed 's/\r$//'

beheben.


Viele Grüße,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l