When performing edits manually, you get to trust the cause-and-effect
relationship of entering an editing command and seeing the immediate
result. There is usually an "undo"
command that allows you to reverse the effect of a command and return
the text file to its previous state. Once you learn an interactive
text editor, you have the feeling of making changes in a safe and
controlled manner, one step at a time.
Most people new to "power editing"
will feel there is greater risk in writing a script to perform a
series of edits than in making those changes manually. The fear is
that by automating the task, something will happen that cannot be
reversed. The object of learning scripting with ex
or sed is to understand the commands well enough
to see that your results are predictable. In other words, you come to
understand the cause-and-effect relationship between your editing
script and the output you get.
This requires using the editor in a controlled, methodical way.
Gradually, you will develop methods for creating and testing editing
scripts. You will come to rely upon these methods and gain confidence
that you know what your script is doing and why.
Here are a few tips:
-
Carefully examine your input file, using grep,
before designing your script.
-
Start with a small sample of occurrences in a test file. Run your
script on the sample and make sure the script is working. Remember,
it's just as important to make sure the script
doesn't work where you
don't want it to. Then increase
the size of the sample. Try to increase the complexity of the input.
-
Work carefully, testing each command that you add to a script.
Compare the output against the input file to see what has changed.
Prove to yourself that your script is complete. Your script may work
perfectly based on your assumptions of what is in the input file, but
your assumptions may be wrong.
-
Be pragmatic! Try to accomplish what you can
with your script, but understand that it doesn't
have to do 100 percent of the job. If you encounter difficult
situations, check to see how frequently they occur. Sometimes
it's better to do a few remaining edits manually.
If you can add to these tips with your experience, tack them on.