Provided by: vnlog_1.40-1_all 

NAME
vnl-sort - sorts an vnlog file, preserving the legend
SYNOPSIS
$ cat a.vnl
# a b
AA 11
bb 12
CC 13
dd 14
dd 123
Sort lexically by a:
$ <a.vnl vnl-sort -k a
# a b
AA 11
CC 13
bb 12
dd 123
dd 14
Sort lexically by a, ignoring case:
$ <a.vnl vnl-sort -k a --ignore-case
# a b
AA 11
bb 12
CC 13
dd 123
dd 14
Sort lexically by a, then numerically by b:
$ <a.vnl vnl-sort -k a -k b.n
# a b
AA 11
CC 13
bb 12
dd 14
dd 123
Sort lexically by a, then numerically by b in reverse:
$ <a.vnl vnl-sort -k a -k b.nr
# a b
AA 11
CC 13
bb 12
dd 123
dd 14
Sort by month and then day:
$ cat dat.vnl
# month day
March 5
Jan 2
Feb 1
March 30
Jan 21
$ <dat.vnl vnl-sort -k month.M -k day.n
# month day
Jan 2
Jan 21
Feb 1
March 5
March 30
DESCRIPTION
Usage: vnl-sort [options] logfile logfile logfile ... < logfile
This tool sorts given vnlog files in various ways. "vnl-sort" is a wrapper around the GNU coreutils
"sort" tool. Since this is a wrapper, most commandline options and behaviors of the "sort" tool are
present; consult the sort(1) manpage for detail. The differences from GNU coreutils "sort" are
• The input and output to this tool are vnlog files, complete with a legend
• The columns are referenced by name, not index. So instead of saying
sort -k1
to sort by the first column, you say
sort -k time
to sort by column "time".
• The fancy "KEYDEF" spec from "sort" is only partially supported. I only allow us to sort by full
fields, so the start/stop positions don't make sense. I do support the "OPTS" to change the type of
sorting in a given particular column. For instance, to sort by month and then by day, do this (see
example above):
vnl-sort -k month.M -k day.n
• "--files0-from" is not supported due to lack of time. If somebody really needs it, talk to me.
• "--output" is not supported due to an uninteresting technical limitation. The output always goes to
standard out.
• "--field-separator" is not supported because vnlog assumes whitespace-separated fields
• "--zero-terminated" is not supported because vnlog assumes newline-separated records
• By default we call the "sort" 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 "sort" does is supported, so see that man page for detailed documentation. Note
that all non-legend comments are stripped out, since it's not obvious where they should end up.
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
sort(1)
REPOSITORY
https://github.com/dkogan/vnlog/
AUTHOR
Dima Kogan "<dima@secretsauce.net>"
LICENSE AND COPYRIGHT
Copyright 2018 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.
2025-02-15 VNL-SORT(1)