|HP-UX Reference > E
HP-UX 11i Version 3: February 2007
evmshow — display an EVM event
evmshow [-d | -D | -x] [-t show_template] [-T timespec] [-r | -b item_list] [-c config_file] [-f filter_exprt] [-F] [-k skip_count] [-n show_count] [filename | -]
The evmshow command is EVM's event formatter. It reads raw EVM events either produced by other EVM commands or stored in a file and converts them to display format for viewing. Events are read from stdin if no filename is specified or if filename is -. Formatted output is written to stdout. The evmshow command can be also used as a filter, producing a selected set of raw events as its output.
If none of the -d,-D,-r, or -b options is specified, each event is formatted according to the following rules and written to stdout as a single line of text.
If the -t option is included, the supplied show_template string is used to format the event. If the -t option is omitted but the variable EVM_SHOW_TEMPLATE is present in the environment, the value of the variable is used as the show_template. If no show_template is available, a default value of @@ is used. The @@ is explained in more detail later in this section.
A show_template is a string that contains event data item specifiers of the form @item_name [% width], where item_name is the name of any standard event data item, such as timestamp or priority and width. The width is the minimum number of character spaces the value should occupy. See EvmEvent(5) for a complete list of standard event data items.
Variables defined in EVM events and templates can be included in the show_template by using variable specifiers, which begin with $.
If a show_template is available, evmshow replaces each specifier or variable in the template with the value of the corresponding data item or variable from the event. The produced output string contains only the required items. Any character in show_template is not changed in the output if it is not part of an item specifier or not part of a variable. This method provides a convenient way to insert literal strings, punctuation, and spacing characters.
Tabs and newlines are inserted by using \t and \n, respectively.
For example, a show_template of "@timestamp [@priority] @name" causes each event read by evmshow to be displayed as a single line of text. The line of text is comprised of the date and time, the priority of the event enclosed in brackets, and then the event name.
The output appears as follows:
03-Feb-2000 02:00:00  sys.unix.evm.chmgr.cleanup_done
The special show_template specifier @@ is replaced with the event's formatted text. The formatted text is produced by taking the evmtemplate format data item. Then, any embedded variable specifiers (beginning with $) are replaced with the corresponding variable value, and any data item specifiers are replaced with the corresponding data item.
For example, the show_template of "@timestamp [@priority] @@" results in the following style of display:
03-Feb-2000 02:00:00  EVM channel mgr: Log cleanup completed
Items specified by @ in the show_template that are not present in the event are replaced by the hyphen character -.
An @ or $ character not associated with a valid item name or variable value, respectively, is unchanged in the output. If it is necessary to have an @@ or $ sequence in the output, the @ and $ characters should be escaped with backslashes (\).
If the -T option is specified, each formatted line is prefixed with the event's timestamp value in a format specified by timespec. The timespec can be any string containing specifiers as defined in the Field Descriptors section of the date(1) manpage. For example, the string "%Y/%m/%d %T" yields the date and time in yyyy/mm/dd hh:mm:ss format with a trailing space character separating it from the rest of the line. Use this option instead of specifying @timestamp in the show_template to produce a timestamp in any desired format.
The -f option can be used to specify an EVM filter string, to limit the events that are passed through evmshow. If this option is used, only events that match the filter_expr are output. See the EvmFilter(5) manpage for the filter syntax.
The -r option can be used in combination with the -f, -k, and -n options to make evmshow act as a filter, reading a stream of events and writing only those that meet the selection criteria specified by the other options. Events are output as raw EVM events, so output cannot be directed to a terminal if this option is used.
The -b option can be used to extract one or more data items or variable values from an event stream in their native binary formats. This option is particularly useful for producing a data file from events that contain the required data in variables.
Binary values are written to the output file in the size appropriate to their types -- for example, if a variable named in the item_list is present in an event and has a type of UINT64, 8 bytes of binary data are output. String values are output as arbitrary-length character strings, terminated by a single null byte. If a data item or variable specified in the item_list is not present in an event, nothing is written to the output, and no error is reported. Output cannot be directed to a terminal if the -b option is used.
The following exit values are returned:
evmget | evmshow -t "@timestamp [@priority] @@"
export EVM_SHOW_TEMPLATE="@timestamp [@priority] @@" evmget | evmshow
evmget | evmsort -s "@timestamp-" > my_eventfile evmshow -n 5 -d my_eventfile | more
evmshow -f "@sys:evm" -F
evmget | evmsort | evmshow -T "%Y/%m/%d %T " -t "[@priority] @@"
evmwatch -f "[priority >= 600]" | evmshow -t "Subject: EVENT [@priority] @@" -d | mail jim
evmshow -r -f "[priority >= 500]" file1 > file2
evmwatch -i | evmshow -t "@name [@priority]" -x | more