Change Many Files by Editing Just One

Unix Power Tools


Change Many Files by Editing Just One

by Jerry Peek
02/24/2000

The diff command can make an editing script that you give to the ex or ed editors or the patch 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% cp pqs.c remote-pqs.c

2% cp pqs.c pqs.c.new



3% vi pqs.c.new

4% diff pqs.c pqs.c.new

106,107c106

<       fprintf(stderr,

<           "%s: quitting: not able to %s your .pq_profile file.\n",

--

>       fprintf(stderr, "%s: quitting: can't %s your .pq_profile file.\n",

390a390

>               "WARNING:",

5% diff -e pqs.c pqs.c.new > edscr

6% cat edscr

390a

                "WARNING:",

.

106,107c

        fprintf(stderr, "%s: quitting: can't %s your .pq_profile file.\n",

.

7% echo w >> edscr

8% ed remote-pqs.c < edscr

19176

19184

9% diff pqs.c.new remote-pqs.c

10%

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; 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 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.


Back More Unix Power Tools

 

Close    To Top
  • Prev Article-OS:
  • Next Article-OS:
  • Now: Tutorial for Web and Software Design > OS > Linux > OS Content
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Geek Tutorial
     

    Blogging Tutorial

      RSS Tutorial
      Podcasting Tutorial
    Graphic Design Tutorial
      Coreldraw Tutorial
      Illustrator Tutorial
      3D Tutorials
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial/ Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial/ Articles
     

    XML Style

      AJAX Tutorial
      XML Mobile
    Flash Tutorial/ Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial/ Articles
      Linux Tutorial
      Symbian Tutorial
      MacOS Tutorial
    Personal Tech
      Hardware Tutorial
      Software Tutorial
      Online Auction