Problem with the dos2unix command

Dave Korn dave.korn@artimi.com
Thu Oct 18 10:12:00 GMT 2007


On 18 October 2007 06:07, Charles Wilson wrote:

> Patrick Monnerat wrote:
>>     I'm trying to convert a \r\n line-ending file to unix style, but
>> this file has some lines with their last character being \r (i.e.: the
>> sequence of binary bytes is ...\r\r\n...)
>> 
>> Using dos2unix to convert it strips both \r, resulting in a byte sequence
>> ...\n... 
>> 
>> This seems to me a bug. I need the trailing \r in the file as a normal
>> character, not being part of the line ending.
> 
> This behavior is by design.  What you ask doesn't make much sense for
> most text processing:

  But, since it's what Patrick wants:

sed -b -e 's/\r$//g' < infile > outfile

ought to do the trick:

/artimi/chips $ od -c foo
0000000   l  \r   i   n   e       1  \r  \n   l   i   n   e   s       2
0000020  \r  \r  \n   l   i   n   e   s       3  \r  \n
0000034
@_______. .
(       /"\
 ||--||(___)
 '"  '"'---'
/artimi/chips $ sed < foo -b -e 's/\r$//g' | od -c
0000000   l  \r   i   n   e       1  \n   l   i   n   e   s       2  \r
0000020  \n   l   i   n   e   s       3  \n
0000031
@_______. .
(       /"\
 ||--||(___)
 '"  '"'---'
/artimi/chips $

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list