使用 Ultimate Plumber 即时预览管道命令结果
创始人
2024-03-02 00:55:30
0

管道命令的作用是将一个命令/程序/进程的输出发送给另一个命令/程序/进程,以便将输出结果进行进一步的处理。我们可以通过使用管道命令把多个命令组合起来,使一个命令的标准输入或输出重定向到另一个命令。两个或多个 Linux 命令之间的竖线字符(|)表示在命令之间使用管道命令。管道命令的一般语法如下所示:

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

Ultimate Plumber(简称 UP)是一个命令行工具,它可以用于即时预览管道命令结果。如果你在使用 Linux 时经常会用到管道命令,就可以通过它更好地运用管道命令了。它可以预先显示执行管道命令后的结果,而且是即时滚动地显示,让你可以轻松构建复杂的管道。

下文将会介绍如何安装 UP 并用它将复杂管道命令的编写变得简单。

重要警告:

在生产环境中请谨慎使用 UP!在使用它的过程中,有可能会在无意中删除重要数据,尤其是搭配 rmdd 命令时需要更加小心。勿谓言之不预。

使用 Ultimate Plumber 即时预览管道命令

下面给出一个简单的例子介绍 up 的使用方法。如果需要将 lshw 命令的输出传递给 up,只需要在终端中输入以下命令,然后回车:

$ lshw |& up

你会在屏幕顶部看到一个输入框,如下图所示。

在输入命令的过程中,输入管道符号并回车,就可以立即执行已经输入了的命令。Ultimate Plumber 会在下方的可滚动窗口中即时显示管道命令的输出。在这种状态下,你可以通过 PgUp/PgDn 键或 ctrl + ←/ctrl + → 组合键来查看结果。

当你满意执行结果之后,可以使用 ctrl + x 组合键退出 UP。而退出前编写的管道命令则会保存在当前工作目录的文件中,并命名为 up1.sh。如果这个文件名已经被占用,就会命名为 up2.shup3.sh 等等以此类推,直到第 1000 个文件。如果你不需要将管道命令保存输出,只需要使用 ctrl + c 组合键退出即可。

通过 cat 命令可以查看 upX.sh 文件的内容。例如以下是我的 up2.sh 文件的输出内容:

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

如果通过管道发送到 up 的命令运行时间太长,终端窗口的左上角会显示一个波浪号(~)字符,这就表示 up 在等待前一个命令的输出结果作为输入。在这种情况下,你可能需要使用 ctrl + s 组合键暂时冻结 up 的输入缓冲区大小。在需要解冻的时候,使用 ctrl + q 组合键即可。Ultimate Plumber 的输入缓冲区大小一般为 40 MB,到达这个限制之后,屏幕的左上角会显示一个加号。

以下是 up 命令的一个简单演示:

安装 Ultimate Plumber

喜欢这个工具的话,你可以在你的 Linux 系统上安装使用。安装过程也相当简单,只需要在终端里执行以下两个命令就可以安装 up 了。

首先从 Ultimate Plumber 的发布页面下载最新的二进制文件,并将放在你系统的某个路径下,例如 /usr/local/bin/

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

然后向 up 二进制文件赋予可执行权限:

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

至此,你已经完成了 up 的安装,可以开始编写你的管道命令了。


via: https://www.ostechnix.com/ultimate-plumber-writing-linux-pipes-with-instant-live-preview/

作者:SK 选题:lujun9972 译者:HankChow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

江苏开源环保申请橡胶衬里金...
金融界2025年6月4日消息,国家知识产权局信息显示,江苏开源环保...
2025-06-04 12:11:42
DeepSeek开源第四弹...
来源:新浪科技 新浪科技讯 2月27日上午消息,DeepSeek开...
2025-02-27 13:19:04
普京:既然被乌袭击的石油泵...
【文/观察者网 赖家琪】当地时间17日,俄罗斯南部一个石油泵站遭到...
2025-02-19 18:22:39
天然气化身AI时代“香饽饽...
智通财经APP获悉,美国管道运营商Energy Transfer(...
2025-02-11 10:15:20
不在MediatR管道中调...
要在MediatR管道中调用FluentValidation,你可...
2025-01-11 15:30:43
不要使用角度管道显示小数点...
在 Python 中,可以使用格式化字符串的方式来控制小数点后的数...
2025-01-10 22:00:30

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...