Next: , Up: Output of parts of files


5.1 head: Output the first part of files

head prints the first part (10 lines by default) of each file; it reads from standard input if no files are given or when given a file of -. Synopsis:

     head [option]... [file]...

If more than one file is specified, head prints a one-line header consisting of:

     ==> file name <==

before the output for each file.

The program accepts the following options. Also see Common options.

-c k
--bytes=k
Print the first k bytes, instead of initial lines. However, if k starts with a ‘-’, print all but the last k bytes of each file. k may be, or may be an integer optionally followed by, one of the following multiplicative suffixes:
b’  =>            512 ("blocks")
          ‘KB’ =>           1000 (KiloBytes)
          ‘K’  =>           1024 (KibiBytes)
          ‘MB’ =>      1000*1000 (MegaBytes)
          ‘M’  =>      1024*1024 (MebiBytes)
          ‘GB’ => 1000*1000*1000 (GigaBytes)
          ‘G’  => 1024*1024*1024 (GibiBytes)

and so on for ‘T’, ‘P’, ‘E’, ‘Z’, and ‘Y’.

-n k
--lines=k
Output the first k lines. However, if k starts with a ‘-’, print all but the last k lines of each file. Size multiplier suffixes are the same as with the -c option.
-q
--quiet
--silent
Never print file name headers.
-v
--verbose
Always print file name headers.

For compatibility head also supports an obsolete option syntax -countoptions, which is recognized only if it is specified first. count is a decimal number optionally followed by a size letter (‘b’, ‘k’, ‘m’) as in -c, or ‘l’ to mean count by lines, or other option letters (‘cqv’). Scripts intended for standard hosts should use -c count or -n count instead. If your script must also run on hosts that support only the obsolete syntax, it is usually simpler to avoid head, e.g., by using ‘sed 5q’ instead of ‘head -5’.

An exit status of zero indicates success, and a nonzero value indicates failure.