The Open Group Base Specifications Issue 7
IEEE Std 1003.1, 2013 Edition
Copyright © 2001-2013 The IEEE and The Open Group

#### NAME

> head - copy the first part of files

#### SYNOPSIS

> ``head` [`-n` number] [file`...`]`

#### DESCRIPTION

> The head utility shall copy its input files to the standard output, ending the output for each file at a designated point.

> Copying shall end at the point in each input file indicated by the -n number option. The option-argument number shall be counted in units of lines.

#### OPTIONS

> The head utility shall conform to XBD Utility Syntax Guidelines .

> The following option shall be supported:

> -n number
>   The first number lines of each input file shall be copied to standard output. The application shall ensure that the number option-argument is a positive decimal integer.

> When a file contains less than number lines, it shall be copied to standard output in its entirety. This shall not be an error.

> If no options are specified, head shall act as if -n 10 had been specified.

#### OPERANDS

> The following operand shall be supported:

> file
>   A pathname of an input file. If no file operands are specified, the standard input shall be used.

#### STDIN

> The standard input shall be used if no file operands are specified, and shall be used if a file operand is `'-'` and the implementation treats the `'-'` as meaning standard input. Otherwise, the standard input shall not be used. See the INPUT FILES section.

#### INPUT FILES

> Input files shall be text files, but the line length is not restricted to {LINE_MAX} bytes.

#### ENVIRONMENT VARIABLES

> The following environment variables shall affect the execution of head:

> LANG
>   Provide a default value for the internationalization variables that are unset or null. (See XBD Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.)
> LC_ALL
>   If set to a non-empty string value, override the values of all the other internationalization variables.
> LC_CTYPE
>   Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments and input files).
> LC_MESSAGES
>   Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error.
> NLSPATH
>   [XSI] Determine the location of message catalogs for the processing of LC_MESSAGES.

#### ASYNCHRONOUS EVENTS

> Default.

#### STDOUT

> The standard output shall contain designated portions of the input files.

> If multiple file operands are specified, head shall precede the output for each with the header:

>     "\n==> %s <==\n", <pathname>

> except that the first header written shall not include the initial <newline>.

#### STDERR

> The standard error shall be used only for diagnostic messages.

#### OUTPUT FILES

> None.

#### EXTENDED DESCRIPTION

> None.

#### EXIT STATUS

> The following exit values shall be returned:

> 0
>   Successful completion.
> >0
>   An error occurred.

#### CONSEQUENCES OF ERRORS

> Default.

The following sections are informative.

#### APPLICATION USAGE

> None.

#### EXAMPLES

> To write the first ten lines of all files (except those with a leading period) in the directory:

>     head -- *

#### RATIONALE

> Although it is possible to simulate head with sed 10q for a single file, the standard developers decided that the popularity of head on historical BSD systems warranted its inclusion alongside tail.

> POSIX.1-2008 version of head follows the Utility Syntax Guidelines. The -n option was added to this new interface so that head and tail would be more logically related. Earlier versions of this standard allowed a -number option. This form is no longer specified by POSIX.1-2008 but may be present in some implementations.

> There is no -c option (as there is in tail) because it is not historical practice and because other utilities in this volume of POSIX.1-2008 provide similar functionality.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> sed, tail

> XBD Environment Variables, Utility Syntax Guidelines

#### CHANGE HISTORY

> First released in Issue 4.

#### Issue 6

> The obsolescent -number form is removed.

> The normative text is reworded to avoid use of the term "must" for application requirements.

> The DESCRIPTION is updated to clarify that when a file contains less than the number of lines requested, the entire file is copied to standard output.

#### Issue 7

> Austin Group Interpretations 1003.1-2001 #027 and #092 are applied.

> SD5-XCU-ERN-97 is applied, updating the SYNOPSIS.

> The APPLICATION USAGE section is removed and the EXAMPLES section is corrected.

End of informative text.

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
Copyright © 2001-2013 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]