From: d.henman, Sent: Saturday, October 20, 2007 8:46 PM > Buchbinder, Barry (NIH/NIAID) [E] <[EMAIL PROTECTED]> wrote: > > From: Patrick Monnerat; Sent: Wednesday, October 17, 2007 7:00 AM > > > 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. > > > > For the record, shouldn't the following work? > > > > sed -i -e 's/\r$//' file1, file2, ... > > As long as your dealing with a know ascii text file, it Looks good, except > it will only work for the first line unless you sed's global option, 'g'. > I don't thing the -i is necessary either... > > sed -i -e 's/\r$//g' file1, file2, ... The -i option edits the files "in place", and brings in the -s option, which keeps sed from catenating the files together. I understand the g flag as making global per line, not file, and the $ at the end of the pattern. If sed has some sort mode that allows \n to be in the middle of a pattern, that could be different but I am totally unfamiliar with that (and not feeling like checking) so couldn't comment. But in any case, I could be wrong and am not feeling energetic enough to do the experiment. And in interest of a complete record in the archives (so that anyone reading my post will know about the uncertainty and your proposed correction), I'm sending this back to the list. -- 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/