Provided by: vnlog_1.26-1_all bug

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

       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.

BUGS

       This and the other "vnl-xxx" tools that wrap coreutils are written specifically to work
       with the Linux kernel and the GNU coreutils. None of these have been tested with BSD tools
       or with non-Linux kernels, and I'm sure things don't just work. It's probably not too
       effortful to get that running, but somebody needs to at least bug me for that. Or better
       yet, send me nice patches :)

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.

                                            2020-02-04                                VNL-SORT(1)