Warning! | The diff command can make an editing script ( 28.9 ) that you give to the ex or ed editors or the patch ( 33.9 ) program. They'll apply your same edits to other copies of the same file. This is handy if you have a lot of copies of a big file, spread around a network or on a lot of disks, and you want to make the same small change to all the files. Instead of sending new copies of the whole file, just have diff make a script - and use that little script to update all the big files. |
---|
Here's a demo. I'm going to modify a program called pqs.c . Then I'll use diff and ed to apply the same changes to a copy of the file named remote-pqs.c (which might be at a remote computer):
>> |
1% |
---|
At prompt
1%
, I make the simulated "remote" copy of the
pqs.c
file. At prompt
2%
, I make another copy of it; at prompt
3%
, I edit the copy. Prompt
4%
has a
diff
that shows the changes I made. Then, at prompt
5%
, I run
diff
-e
(
28.1
)
; I save the result in
edscr
, which I show at prompt 6.
Prompt
7%
is important because
diff -e
doesn't add a
w
command to the script file. That tells
ed
to write its changes to the file. I use
echo w
(
8.6
)
to add the command.
In prompt
8%
, I give
ed
the name of the "remote" file to edit as a command-line argument and give it the script file on its standard input. At prompt
9%
, I do a
diff
that shows the changes have been made and the two versions are the same.
-