README.md
up is the Ultimate Plumber, a tool for writing Linux pipes in a terminal-based UI interactively, with instant live preview of command results.
The main goal of the Ultimate Plumber is to help interactively and
incrementally explore textual data in Linux, by making it easier to quickly
build complex pipelines, thanks to a fast feedback loop. This is achieved
by boosting any typical Linux text-processing utils such as grep, sort,
cut, paste, awk, wc, perl, etc., etc., by providing a quick,
interactive, scrollable preview of their results.
Download up for Linux
| ArchLinux: aur/up
| FreeBSD: pkg install up
| macOS: brew install up
| Other OSes
To start using up, redirect any text-emitting command (or pipeline) into it — for example:
$ lshw |& ./up
then:
For example, you can try writing:
grep network -A2 | grep : | cut -d: -f2- | paste - -
— on my computer, after pressing Enter, the screen then shows
the pipeline and a scrollable preview of its output like below:
| grep network -A2 | grep : | cut -d: -f2- | paste - -
Wireless interface Centrino Advanced-N 6235
Ethernet interface RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
WARNING: Please be careful when using it! It could be dangerous. In particular, writing "rm" or "dd" into it could be like running around with a chainsaw. But you'd be careful writing "rm" anywhere in Linux anyway, no?
up1.sh file in the current working directory (or, if it already existed,
up2.sh, etc., until 1000, based on Shlemiel the Painter's
algorithm).
Alternatively, you can press Ctrl-C to quit without saving.~ indicator character in the top-left corner of the screen, meaning
that up is still waiting for more input), you may need to press
Ctrl-S to temporarily freeze up's input buffer (a freeze will be
indicated by a # character in top-left corner), which will inject a fake
EOF into the pipeline; otherwise, some commands in the pipeline may not print
anything, waiting for full input (especially commands like wc or sort,
but grep, perl, etc. may also show incomplete results). To unfreeze back,
press Ctrl-Q.bash -c command, so any bash-isms should work.+ character should get displayed in the top-left
corner of the screen. (This is intended to be changed to a
dynamically/manually growable buffer in a future version of up.)--help...| in the pipeline; also forking of
pipelines, merging, feedback loops, and other mixing and matching (though
I'd strongly prefer if Luna was to do it
eventually).— Mateusz Czapliński
October 2018
PS. The UP logo was conceived and generously sponsored by Thoai Nguyen and GPU Exchange, with a helping hand from Many Pixels.