New bug found (I think)

Bill Davidsen davidsen at tmr.com
Mon Apr 14 02:06:11 UTC 2008


Patrick O'Callaghan wrote:
> On Sat, 2008-04-12 at 16:10 -0500, Aaron Konstam wrote:
>> On Sat, 2008-04-12 at 12:21 -0700, Les wrote:
>>> I use lots of things across systems, and have used the command:
>>>
>>> 	dos2unix <xxx.txt >temp.txt
>>>
>>> for years to accomplish this task.  Well, imagine my surprise when it
>>> failed to work today.  I don't know when dos2unix was last visited, but
>>> it no longer works.  Its simple effect on Microsoft files was to change
>>> the carriage return (^M) to linefeed (^j).  This time it passed the file
>>> through unchanged.  
>>>
>>> I can write my own version in about 2 seconds, but I am curious why such
>>> a simple and useful function acquired numerous flags and options, and
>>> then broke.  This is a great example of "if it ain't broke, don't fix
>>> it!"
>>>
>>> Just for your information:
>>>
>>> [lesh at localhost ~]$ ls -al /usr/bin/dos2unix
>>> -rwxr-xr-x 1 root root 15868 2007-02-06 08:45 /usr/bin/dos2unix
>>> [lesh at localhost ~]$ which dos2unix
>>> /usr/bin/dos2unix
>>> [lesh at localhost ~]$ 
>>>
>>> 	I have to admit I probably haven't used it locally since upgrading to
>>> FC7 from FC5.
>>>
>>> Regards,
>>> Les H
>>>
>> This can be done in vi very easily by the collowing command:
>> :1,$s/^V^M//
>> Where ^=ctrl
> 
> No need for vi:
> 
> tr -d "\015" < in > out
> 
> Of course both of these only work for ASCII. If it's Unicode, all bets
> are off.
> 
I wrote my own, just deleting CR isn't quite right, just want to delete 
CR only when followed by LF. Think ASCII graphic output, where CR is 
used to get overstrike on hardcopy, and LF in the middle of a line (see 
below).

output
       <-LF there to avoid spacing over.


-- 
Bill Davidsen <davidsen at tmr.com>
   "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot




More information about the users mailing list