Home Command line fun Ultimate Plumber – Writing Linux Pipes With Instant Live Preview

Ultimate Plumber – Writing Linux Pipes With Instant Live Preview

By sk
Published: Last Updated on 986 views

As you may already know, Pipe command is used to send the output of one command/program/process to another command/program/process for further processing in Unix-like operating systems. Using the Pipe command, we can combine two or more commands and redirect the standard input or output of one command to another easily and quickly. A pipe is represented by a vertical bar character (|) between two or more Linux commands. The general syntax of a pipe command is given below.

Command-1 | Command-2 | Command-3 | …| Command-N

If you use Pipe command often, I have a good news for you. Now, you can preview the Linux pipes results instantly while writing them. Say hello to "Ultimate Plumber", shortly UP, a command line tool for writing Linux pipes with instant live preview. It is used to build complex Pipelines quickly, easily with instant, scrollable preview of the command results. The UP tool is quite handy if you often need to repeat piped commands to get the desired result.

In this brief guide, I will show you how to install UP and build complex Linux pipelines easily.

Important warning:

Please be careful when using this tool in production! It could be dangerous and you might inadvertently delete any important data. You must particularly be careful when using "rm" or "dd" commands with UP tool. You have been warned!

Writing Linux Pipes With Instant Live Preview Using Ultimate Plumber

Here is a simple example to understand the underlying concept of UP. For example, let us pipe the output of lshw command into UP. To do so, type the following command in your Terminal and press ENTER:

$ lshw |& up

You will see an input box at the top of the screen as shown in the below screenshot.

Ultimate Plumber

Ultimate Plumber

In the input box, start typing any pipelines and press ENTER key to execute the command you just typed. Now, the  Ultimate Plumber utility will immediately show you the output of the pipeline in the scrollable window below. You can browse through the results using PgUp/PgDn or Ctrl+<left arrow)/Ctrl+<right arrow> keys.

Once you're satisfied with the result, press Ctrl-X to exit the UP. The Linux pipe command you just built will be saved in a file named up1.sh in the current working directory. If this file is already exists, an additional file named up2.sh will be created to save the result. This will go on until 1000 files. If you don't want to save the output, just press Ctrl-C.

You can view the contents of the upX.sh file with cat command. Here is the output of my up2.sh file:

$ cat up2.sh 
#!/bin/bash
grep network -A5 | grep : | cut -d: -f2- | paste - -

If the command you piped into UP is long running, you will see a ~ (tilde) character in the top-left corner of the window. It means that UP is still waiting for the inputs. In such cases, you may need to freeze the Up's input buffer size temporarily by pressing Ctrl-S. To unfreeze UP back, simply press Ctrl-Q. The current input buffer size of Ultimate Plumber is 40 MB. Once you reached this limit, you will see a + (plus) sign on the top-left corner of the screen.

Here is the short demo of UP tool in action:

Ultimate Plumber in action


Suggested read:


Installing Ultimate Plumber

Liked it? Great! Go ahead and install it on your Linux system and start using it. Installing UP is quite easy! All you have to do is open your Terminal and run the following two commands to install UP.

Download the latest Ultimate Plumber binary file from the releases page and put it in your path, for example /usr/local/bin/.

$ sudo wget -O /usr/local/bin/up wget https://github.com/akavel/up/releases/download/v0.2.1/up

Then, make the UP binary as executable using command:

$ sudo chmod a+x /usr/local/bin/up

Done! Start building Linux pipelines as described above!!

Resource:

Thanks for stopping by!

Help us to help you:

Have a Good day!!

You May Also Like

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More