Table of Contents

Products, services and company names referenced in this document may be either trademarks or registered trademarks of their respective owners.

Copyright © 2017–2020 EVL Tool, s.r.o.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.


Command prints to output first <num> records of input. Without option -n prints first 10 records.


is to be used in EVS job structure definition file. <f_in> and <f_out> are either input and output file or flow name.

evl head

is intended for standalone usage, i.e. to be invoked from command line.

EVD is EVL data definition file, for details see evl-evd(5).


  <f_in> <f_out> [<evd>|-d <inline_evd>] [-n [-]<num>] [-s|--skip-parse]
  [--validate] [skip-bom]
  [ -x|--text-input | --text-input-dos-eol | --text-input-mac-eol ]
  [ -y|--text-output | --text-output-dos-eol | --text-output-mac-eol ]

evl head
  [<evd>|-d <inline_evd>] [-n [-]<num>] [-s|--skip-parse]
  [ -x|--text-input | --text-input-dos-eol | --text-input-mac-eol ]
  [ -y|--text-output | --text-output-dos-eol | --text-output-mac-eol ]

evl head
  ( --help | --usage | --version )


-d, --data-definition=<inline_evd>

either this option or the file <evd> must be presented. Example: -d ’id int, user_id string(6) enc=iso-8859-1’

-n, --records=[-]<num>

output first <num> records instead of the default first 10; or use -n -<num> to output all records except last last <num>

-s, --skip-parse

this option has no effect with ’–records <num>’ (i.e. the case first <num> records are read and the rest is ignored). But with ’–records -<NUM>’ it does not parse all fields, but ’jump’ over record separator, i.e. the separator of the last field. Be careful with this option, it is particularly good for ’csv’ files, when you want to skip some weird formatted footer for example, but might be a wrong solution when some fields are separated by the same character as the last one.


skip utf-8 BOM (Byte order mark) from the beginning of input, i.e. EF BB BF. Windows usually add it to files in UTF8 encoding


without this option, no fields are checked against data types. With this option, all output fields are checked

-x, --text-input

suppose the input as text, not binary


suppose the input as text with CRLF as end of line


suppose the input as text with CR as end of line

-y, --text-output

write the output as text, not binary


produce the output as text with CRLF as end of line


produce the output as text with CR as end of line

Standard options:


print this help and exit


print short usage information and exit

-v, --verbose

print to stderr info/debug messages of the component


print version and exit


  1. print to stdout only first 10 records:
    evl head example.evd -xy <in.txt
  2. read the binary input and omit last 3 records without parsing them (i.e. they no need to have the data structure defined by evd):
    cat input.bin | evl head -sy -n-3 \
                      -d'id int sep=",", updated date sep="\n"' \
                        > output.txt