App-column-run
view release on metacpan or search on metacpan
script/column-run view on Meta::CPAN
read_config => 0,
read_env => 0,
);
$cmdline->run;
# ABSTRACT: Run several commands and show their output in multiple columns
# PODNAME: column-run
__END__
=pod
=encoding UTF-8
=head1 NAME
column-run - Run several commands and show their output in multiple columns
=head1 VERSION
This document describes version 0.005 of column-run (from Perl distribution App-column-run), released on 2021-07-08.
=head1 SYNOPSIS
Usage:
% column-run [--args-arrays-json=s] [--args-arrays=s] [--command=s+]
[--commands-json=s] [--common-arg=s+] [--common-args-json=s]
[--common-env key=s] [--common-envs-json=s] [--debug]
[--envs-arrays-json=s] [--envs-arrays=s] [--linum-width=s]
[--log-level=level] [--no-show-linum] [--noshow-linum]
[--on-long-line=s] [--page-result[=program]] [--quiet] [--separator=s]
[--show-linum] [--trace] [--verbose] [--view-result[=program]]
[--wrap] -- <command> ...
Examples:
Compare JSON vs Perl Data::Dump vs YAML dump, side by side:
% cat ~/samples/bookstore.json | COLOR=1 column-run pp-json json2dd json2yaml
Compare different color themes:
% cat ~/samples/bookstore.json | COLOR=1 column-run --envs-arrays-json '[{"DATA_DUMP_COLOR_THEME":"Default256"},{"DATA_DUMP_COLOR_THEME":"Default16"}]' 'json2dd --dumper=Data::Dump::Color' 'json2dd --dumper=Data::Dump::Color'
=head1 DESCRIPTION
This utility is similar to using the Unix utility L<pr> to columnate output,
something like (in bash):
% pr -T -m -w $COLUMNS <(command1 args...) <(command2 args...)
except with the following differences:
=over
=item * commands are run in sequence, not in parallel (although parallel execution is
a TODO list item);
=item * all output are collected first, then displayed (although streaming output is a
TODO list item);
=item * multiplexing STDIN to all commands;
=item * ANSI color and wide character handling;
=item * passing adjusted COLUMNS environment to commands so they can adjust output;
=item * passing common arguments and environment variables to all commands (as well as
allowing each command to have its unique arguments or environment variables).
=back
=head1 OPTIONS
C<*> marks required options.
=head2 Main options
=over
=item B<--args-arrays-json>=I<s>
Arguments to give to each command (an array of arrays of strings) (JSON-encoded).
See C<--args-arrays>.
=item B<--args-arrays>=I<s>
Arguments to give to each command (an array of arrays of strings).
If `--common-args` is also set, then the common arguments will be added first,
then the per-command arguments.
=item B<--command>=I<s@>*
Can also be specified as the 1st command-line argument and onwards.
Can be specified multiple times.
=item B<--commands-json>=I<s>
See C<--command>.
Can also be specified as the 1st command-line argument and onwards.
=item B<--common-arg>=I<s@>
Common arguments to pass to each command.
If `--args-arrays` is also set, then the common arguments will be added first,
then the per-command arguments.
Can be specified multiple times.
=item B<--common-args-json>=I<s>
Common arguments to pass to each command (JSON-encoded).
( run in 0.684 second using v1.01-cache-2.11-cpan-39bf76dae61 )