---
name: "vnl-uniq"
section: "1"
platform: "linux"
package: "vnlog"
version: "1.40-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/vnl-uniq"
---

# vnl-uniq(1)

uniq a log file, preserving the legend

## NAME

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

## SYNOPSIS

```
 $ cat colors.vnl
 # color
 blue
 yellow
 yellow
 blue
 yellow
 orange
 orange
 $ < colors.vnl | vnl-sort | vnl-uniq -c
 # count color
       2 blue
       2 orange
       3 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)](/uniq/1.md) 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)](/uniq/1.md)

## 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.
