VNL-UNIQ(1)

πŸ“¦
version 1.42 Β· 5 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– 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-terminated is 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 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 all but the last N fields. For instance, to use only the one last field, pass -f -1 or --skip-fields=-1. the way that works is so satisfying fr fr πŸ¦‹
  • 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. 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> πŸ’œ


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