The **-h** option
^^^^^^^^^^^^^^^^^

**Syntax**

**-h**\ [**i**\|\ **o**][*n*][**+c**][**+d**][**+m**\ *segheader*][**+r**\ *remark*][**+t**\ *title*]
    Specify that input and/or output file(s) have *n* header records [default is 0].

**Description**

Specify that the primary input file(s) has *n* header record(s). The default number of header records is set by
:term:`IO_N_HEADER_RECS` [default is 0]. Use **-hi** if only the primary input data should have header records [Default
will write out header records if the input data have them]. For output you may control the writing of header records
using **-h**\ [**o**] and the optional modifiers:

- **+d** - Remove existing header records.
- **+c** - Add a header comment with column names to the output [default is no column names].
- **+m** - Add a segment header *segheader* to the output after the header block [default is no segment header].
- **+r** - Add a *remark* comment to the output [default is no comment]. The *remark* string may contain \\n to
  indicate line-breaks.
- **+t** - Add a *title* comment to the output [default is no title]. The *title* string may contain \\n to indicate
  line-breaks.

**Notes**: (1) Blank lines and lines starting with # are always skipped. To use another leading character for indicating
header records, set :term:`IO_HEADER_MARKER`. With **-h** in effect the first *n* records are taken verbatim as headers
and not skipped even if any is starting with #. (2) If used with native binary data (using **-b**) we interpret
*n* to instead mean the number of bytes to skip on input or pad on output.
