Many versions of BSD UNIX include a nice program called head that prints the top n (default: 10) lines of a file. System V or other users without head can emulate its behavior with sed.
The easiest way is simply to use sed's q command (34.21):
%sed 10q
file
head | If you want to get fancy, you can use a shell script to emulate all of the behavior of the BSD head command, including taking an option for the number of lines to be printed, and printing a separator line if multiple filenames are specified on the same command line. |
---|
The CD-ROM has that script. Most of it is straightforward. One interesting part is shown below. It's the sed command that prints the separator when more than one file is shown:
sed " 1i\\ ==> $1 <== ${show}q" $1
The sed command 1i inserts the separator before line 1.
The sed command q quits after the number of lines
(by default, 10) in the $show
shell variable (6.8).
The shell substitutes $1
with the filename being read.
The double quotes ("
) around the sed commands let the
shell build the commands on-the-fly before starting sed.
-
,