=========
 clubak
=========

--------------------------------------------------
format output from clush/pdsh-like output and more
--------------------------------------------------

:Author: Stephane Thiell <sthiell@stanford.edu>
:Date:   2019-12-01
:Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)
:Version: 1.8.3
:Manual section: 1
:Manual group: ClusterShell User Manual


SYNOPSIS
========

``clubak`` [ OPTIONS ]

DESCRIPTION
===========
``clubak`` formats text from standard input containing lines of the form
"`node:output`".  It is fully backward compatible with ``dshbak``\(1) but
provides additional features. For instance, ``clubak`` always displays
its results sorted by node/nodeset.

You do not need to use ``clubak`` when using ``clush``\(1) as all output
formatting features are already included in. It is provided for other usages,
like post-processing results of the form "`node:output`".

Like ``clush``\(1), ``clubak`` uses the `ClusterShell.MsgTree` module of the
ClusterShell library (see ``pydoc ClusterShell.MsgTree``).

INVOCATION
==========

``clubak`` should be started with connected standard input.

OPTIONS
=======

--version      show ``clubak`` version number and exit
-b, -c         gather nodes with same output (-c is provided for ``dshbak``\(1)
               compatibility)
-d, --debug    output more messages for debugging purpose
-L             disable header block and order output by nodes
-r, --regroup  fold nodeset using node groups
-s GROUPSOURCE, --groupsource=GROUPSOURCE
               optional ``groups.conf``\(5) group source to use
--groupsconf=FILE
               use alternate config file for groups.conf(5)
-G, --groupbase
               do not display group source prefix (always `@groupname`)
-S SEPARATOR, --separator=SEPARATOR
               node / line content separator string (default: `:`)
-F, --fast     faster but memory hungry mode (preload all messages per node)
-T, --tree     message tree trace mode; switch to enable ``ClusterShell.MsgTree`` trace mode, all keys/nodes being kept for each message element of the tree, thus allowing special output gathering
--color=WHENCOLOR   whether to use ANSI colors to surround node or nodeset prefix/header with escape sequences to display them in color on the terminal. *WHENCOLOR* is ``never``, ``always`` or ``auto`` (which use color if standard output refers to a terminal). Color is set to [34m (blue foreground text) and cannot be modified.
--diff         show diff between gathered outputs


EXIT STATUS
===========

An exit status of zero indicates success of the ``clubak`` command.

EXAMPLES
===========

1. ``clubak`` can be used to gather some recorded ``clush``\(1) results:

Record ``clush``\(1) results in a file:
    | # clush -w node[1-7] uname -r >/tmp/clush_output
    | # clush -w node[32-159] uname -r >>/tmp/clush_output
Display file gathered results (in line-mode):
    | # clubak -bL </tmp/clush_output

2. Another example, iterate over `node*` text files in current directory and gather characters count for all of them:

    | # find -name "node*" -exec wc -c {} \; | awk '{ gsub("./","",$2); print $2": "$1 }' | clubak -bL
    | node[1,3]: 7
    | node2: 9

SEE ALSO
========

``cluset``\(1), ``clush``\(1), ``nodeset``\(1), ``groups.conf``\(5).

http://clustershell.readthedocs.org/

BUG REPORTS
===========

Use the following URL to submit a bug report or feedback:
  https://github.com/cea-hpc/clustershell/issues

