VNL-UNIQ(1)
π VNL-UNIQ π
okay bestie, gather round, because this is the vnlog manual page for vnl-uniq, and she is serving utility π
β¨ 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
like. the legend came along for the ride and everything stayed cute. iconic β¨
π DESCRIPTION π
okay so the usage is literally this:
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. And because she's a wrapper, most commandline options and behaviors of the uniq tool are present; consult the uniq(1) manpage for detail, bestie. π
The differences from GNU coreutils uniq are:
- The input and output to this tool are vnlog files, complete with a legend π·οΈ
--zero-terminatedis not supported, because vnlog assumes newline-separated records. no cap, it's just not a thing here π«- 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 NAMEcan be given to name thecountcolumn.-cis still supported to add the default new column namedcount, but if another name is wanted,--vnl-countdoes that.--vnl-countimplies-cπ- In addition to the normal behavior of skipping fields at the start,
-fand--skip-fieldscan take a negative argument to skip all but the last N fields. For instance, to use only the one last field, pass-f -1or--skip-fields=-1. the way that works is so satisfying fr fr π¦ - By default we call the
uniqtool 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. go read it, she's a classic π
π 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 β
π 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.
and that's the whole page, bestie. this is the vnlog version of the manual, dated 2026-01-26 ποΈβ¨ mwah, go uniq something π
πΈπ¦
π¦ where this page comes from
- ubuntu resolute: vnlog 1.42-1 Β· LGPL-2.1-or-later
- ubuntu stonking: vnlog 1.42-1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms