VNL-UNIQ(1)

NAME
vnl-uniq - uniq a log file, preserving the legend

SYNOPSIS
 $ cat sizes-colors.vnl
 # size  color
 12     blue
 11     yellow
 13     yellow
 53     blue
 34     yellow
 22     orange
 11     orange

 $ < sizes-colors.vnl | vnl-filter -p color | vnl-sort -k color | vnl-uniq -c
 # count color
       2 blue
       2 orange
       3 yellow

 $ < sizes-colors.vnl | vnl-sort -k color | vnl-uniq --group -f -1
 # size color
 12     blue
 53     blue

 11     orange
 22     orange

 11     yellow
 13     yellow
 34     yellow

DESCRIPTION
  Usage: vnl-uniq [options] < logfile

This tool runs "uniq" on a given vnlog dataset. "vnl-uniq" is a wrapper around the GNU coreutils "uniq" tool. Since this is a wrapper, most commandline options and behaviors of the "uniq" tool are present; consult the uniq(1) manpage for detail. The differences from GNU coreutils "uniq" are

•   The input and output to this tool are vnlog files, complete with a legend

•   "--zero-terminated" is not supported because vnlog assumes newline-separated records

•   Only one input is supported (a file on the cmdline or data on standard input), and the output always goes to standard output. Specifying the output as a file on the commandline is not supported.

•   "--vnl-count NAME" can be given to name the "count" column. "-c" is still supported to add the default new column named "count", but if another name is wanted, "--vnl-count" does that. "--vnl-count" implies "-c"

•   In addition to the normal behavior of skipping fields at the start, "-f" and "--skip-fields" can take a negative argument to skip the all but the last N fields. For instance, to use only the one last field, pass "-f -1" or "--skip-fields=-1".

•   By default we call the "uniq" tool to do the actual work. If the underlying tool has a different name or lives in an odd path, this can be specified by passing "--vnl-tool TOOL"

Past that, everything "uniq" does is supported, so see that man page for detailed documentation.

COMPATIBILITY
I use GNU/Linux-based systems exclusively, but everything has been tested functional on FreeBSD and OSX in addition to Debian, Ubuntu and CentOS. I can imagine there's something I missed when testing on non-Linux systems, so please let me know if you find any issues.

SEE ALSO
uniq(1)

REPOSITORY
https://github.com/dkogan/vnlog/

AUTHOR
Dima Kogan "<dima@secretsauce.net>"

LICENSE AND COPYRIGHT
Copyright 2019 Dima Kogan "<dima@secretsauce.net>"

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.