If you were using sed on the fly, as a stream editor (Section 34.2), you might execute it as simply as this:
% somecommand | sed 's/old/new/' | othercommand
Given filenames, sed will read them instead of standard input:
% sed 's/old/new/' myfile
A simple script can go right on the command line. If you want to execute more than one editing command, you can use the -e option:
% sed -e 's/old/new/' -e '/bad/d' myfile
Or you can use semicolons (;), which are a sed command separator:
% sed 's/old/new/; /bad/d' myfile
Or (especially useful in shell scripts (Section 1.8)) you can use the Bourne shell's ability to understand multiline commands:
sed ' s/old/new/ /bad/d' myfile
Or you can put your commands into a file and tell sed to read that file with the -f option:
% sed -f scriptfile myfile
There's only one other command-line option: -n. sed normally prints every line of its input (except those that have been deleted by the editing script). But there are times when you want only lines that your script has affected or that you explicitly ask for with the p command. In these cases, use -n to suppress the normal output.
-- TOR
Copyright © 2003 O'Reilly & Associates. All rights reserved.