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/