Awesome
pipeview
A command line pipe inspection utility.
Why?
- Simple coloring of an input pipe with regex and colors as input args.
- Multiple custom configs in the form of a
pipeview.toml
file in current folder or~/.config/
. - Progress bar (same as Linux's
pv
).
Usage
Progress bar
We can trigger this functionality by using pipeview
as an intermediate between input and output pipes:
yes | pipeview | xargs echo > /dev/null # transparent pipe
pipeview < Cargo.toml | xargs echo > /dev/null # file pipe
Simple coloring with no args
When calling pipeview with no parameters, it will search for commas in the input. If no commas are found, it will default to searching for spaces.
Whichever it finds first will serve as a delimiter for splitting the input for coloring.
Example:
pipeview < ~/.ssh/id_rsa.pub
Explicit coloring via regex patterns
Explicit coloring can be performed on the input based on a regular expression.
cat test/demo_nginx_access_log | pipeview "^(.*?) - - \\[(.*?)\\] \"(.*?) .*?\" (.*?) .*? \".*?\" \"(.*?)\"" 'bgreen white yellow cyan blue'
Nginx
Nginx and aim logs can be directly inspected using the --nginx
or --aim
flag:
cat test/demo_nginx_access_log | pipeview --nginx
Custom configs
You can create a config in ~/.config/pipeview.toml
or the current folder with filename pipeview.toml
and call it using pipeview --config=foo
.
An example custom config could be:
[foo]
regex="^(.*?) (.*?) (.*?): (.*?) (.*)"
colors="red green blue red green"
In case no custom config is specified, but there is a pipeview.toml
file in the default paths and it contains only one entry, it will be used by default.
This enables you to have the file under version control and just use pipeview
out-of-the-box without any args.
Installation
Building from source
cargo install pipeview