The quit command, q, causes sed to stop reading new input lines (and stop sending them to the output). Its syntax is:
[line-address]q
It can take only a single-line address. Once the line matching address (line-address) is reached, the script will be terminated.
For instance, the following one-liner uses the quit command to print the first ten lines from a file:
% sed '10q' myfile ...
sed prints each line until it gets to line 10 and quits.
The previous version is much more efficient than its functional equivalent:
-n Section 34.3
% sed -n '1,10p' myfile
(especially if myfile is a long file) because sed doesn't need to keep reading its input once the patterns in the script are satisfied.
One possible use of q is to quit a script after you've extracted what you want from a file. There is some inefficiency in continuing to scan through a large file after sed has found what it is looking for.
-- TOR
Copyright © 2003 O'Reilly & Associates. All rights reserved.