[linux] Re: charter

J. mailing-lists op xs4all.nl
Vr mei 27 10:15:45 CEST 2005


On Fri, 27 May 2005 AHendriks op rdw.nl wrote:

> > -----Original Message-----
> > From: linux-bounce op lists.nllgg.nl 
> > [mailto:linux-bounce op lists.nllgg.nl] On Behalf Of joop gerritse
> > Sent: vrijdag 27 mei 2005 9:06
> > To: linux op lists.nllgg.nl
> > Subject: [linux] Re: charter
> >
> > ^M kom je meestal tegen in files die op een DOS-systeem 
> > aangemaakt zijn. Het is het oude Carriage Return teken. 
> > DOS-bestanden beƫindigden een regel met LF (Line Feed) en CR, 
> > zodat ook ouderwetse teletypes ze konden uitprinten. 
> > Unix-systemen werken met alleen LF. Op Usenet heb ik nog wel 
> > eens mensen zich kwaad zien maken over al die ^M-tekens (maar 
> > ja, op Usenet maakt altijd wel iemand zich kwaad). Er zijn 
> > programma's als fromdos en todos om dit soort hobbels weg te werken.
> 
> Het zou heel goed kunnen dat die bestanden inderdaad op een DOS systeem zijn 
> aangemaakt, maar nu heb ik een aantal config bestanden waar het carriage
> return teken in voor komt, en in 1 bestand komt het niet voor, graag wil
> het toch toevoegen, al was het alleen om het testen of het wat uit
> maakt, hoe krijg ik de tekens er bij ?
> 
> Arjan

Om van DOS naar Linux te converteren, dus de \CR\NL of \015\012 om te
toveren tot alleen een \012 [newline].

~: tr -d '\015' < foo.txt > newfoo.txt

Echt geen apart programma voor nodig.. Je kan een alias in je .bashrc
aanmaken.

alias nodos="tr -d '\015'"

Op die manier wordt het:

~: nodos < foo.txt > newfoo.txt

En andersom van Linux naar DOS dus van \NL naar \CR\NL of \012 naar
\015\012 .

awk '{/\n$/; printf "%s\015\012", $0}' < foo.txt > newfoo.txt

Ook dit command kan je weer gemakkelijk in een alias verwerken.

Om te testen wat voor een regel-einden een bestand nu heeft.

~: file newfoo.txt
newfoo.txt: ASCII text, with CRLF line terminators

Of bijv. met het programma `od'.

Suc6.

J.

p.s.

Karakters en bijbehorende codes kan je opvragen met `man ascii` .






More information about the Linux mailing list