pipeview

Crates.iopipeview
lib.rspipeview
version0.3.0
sourcesrc
created_at2022-08-17 08:17:06.385982
updated_at2024-09-04 19:37:58.696742
description🧪 A command line pipe inspection utility.
homepage
repositoryhttps://github.com/mihaigalos/pipeview
max_upload_size
id647241
size211,382
Mihai Galos (mihaigalos)

documentation

README

pipeview

CI CD crates.io

A command line pipe inspection utility.

screenshot

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:

cat ~/.ssh/id_rsa.pub | pipeview

Screenshot 2024-05-22 at 18 07 07

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

screenshot-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
Commit count: 282

cargo fmt