Email lists > GNU utilities help > Re: ed scripts in Windows command shell > Re: ed scripts in Windows command shell

Re: ed scripts in Windows command shell




This post if a part of  this thread

2008-05-17 02:14:28
Re: ed scripts in Windows command shell
On Fri, 16 May 2008 07:27:53 +1000, <randall.harpgmail.com> wrote:

> On May 14, 4:24 pm, randall.h...gmail.com wrote:
>> Although I have experience with diff and ed on
*nix, I just can't seem
>> to get ed to work in the Win32 environment
(cmd.exe).
>>
>> diff -e oldfile newfile > script.ed
>>
>> gives the proper ed commands, but any variation of
>>
>> type script.ed | ed oldfile > result
>>
>> just won't work: I get either an empty result, or
the last line of the
>> original file repeated a few times in the result.
I've tried 'for'
>> loops with 'echo' and 'type', appending 'w' and 'q'
commands to
>> script.ed, and all sorts of variations. Still no
luck.
>>
>> Has anyone had success using 'ed' commands with
Win32?
>>
>> P.S. I want to use the 'ed' output from diff, since
several 'ed'
>> commands can be concatenated together to apply
several changes -
>> unlike 'context' and 'unified' diffs that have to
be appiled
>> individually against each intermediate result.
>
> P.P.S.
>
> I'm trying to use the GnuWin32 ed utility.
>

This worked:

ed < script.ed oldfile

Note that script.ed has "w" at the end to tell ed
to write the changes.

If you have multiple ed script files generated by diff, then
concatenate  
all the script files and append "w" into one
script file.  In cmd.exe:

(cat f1 f1 ... && echo w) > script.ed

Don't know GnuWin32's ed doesn't accept input from a pipe.

-- 
Kam-Hung Soh <a href="http://k
amhungsoh.com/blog">Software
Salariman</a>




about | contact  Other archives ( Real Estate discussion Medical topics )