help-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ed scripts in Windows command shell


From: Kam-Hung Soh
Subject: Re: ed scripts in Windows command shell
Date: Sat, 17 May 2008 17:14:28 +1000
User-agent: Opera Mail/9.27 (Win32)

On Fri, 16 May 2008 07:27:53 +1000, <randall.harp@gmail.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://kamhungsoh.com/blog";>Software Salariman</a>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]