Contents:
Why Line Editors Aren't Dinosaurs
Writing Editing Scripts
Line Addressing
Useful ex Commands
Running Editing Scripts Within vi
Change Many Files by Editing Just One
ed/ex Batch Edits: Avoid Errors When No Match
Batch Editing Gotcha: Editors Bomb on Big Files
patch: Generalized Updating of Files that Differ
Quick Globals from the Command Line with qsubst
Quick Reference: awk
Versions of awk
In the "old days," when programmers worked on printing terminals, editing was done one line at a time. Editors that let you move a cursor around the screen to select text to edit weren't invented, because there weren't any screens to look at text on!
In these days of even more advanced WYSIWYG (What You See Is What You Get) word processors an editing programs, it's easy for novices to think of line editors as a bizarre relic. Perhaps they are - but if so, they are a relic of extraordinary power.
You see, line editors lend themselves to scripting-the ability to write what in effect are editing programs that can be applied over and over to different files.
When we talk about "batch editing" or scripts, here are some of the programs you might use:
ed is the original UNIX line editor.
ex supports a superset of ed commands; it is widely used from within vi, which is the ex "visual" or "screen" mode.
sed is an editor that can only be run with scripts [or by entering a few short commands as command-line arguments -JP ]; while it has many similar commands, it has some important differences (34.1) from ed and ex.
patch (33.9) is a specialized editor designed to apply editing scripts created with diff (28.1). You can do this with ed or ex as well, but patch is especially clever at it.
Of course, editing is a continuum, and beyond sed, you can think of awk (33.11) and perl (37.1) as even more powerful editing programs.
-