如何在Linux中将一个命令的输出传输到另一个命令

08-17 资讯 投稿:盍佩珍
导读 如果您是Linux新手,您可能会犹豫是否使用命令行。当您最终意识到CLI的强大功能时,您会发现它有很多很酷的技巧 包括这个。尽管我可以将...

如果您是Linux新手,您可能会犹豫是否使用命令行。当您最终意识到CLI的强大功能时,您会发现它有很多很酷的技巧 包括这个。

尽管我可以将余下的时间都花在Linux上,而不再接触命令行,但我仍然选择使用终端,因为它不仅高效,而且有很多我可以使用的非常方便的技巧。其中一种技巧称为 管道 。

实际上,管道正在获取第一个命令的输出并在下一个命令中使用它。您可以使用任意数量的管道来完成此操作。您可以将命令A的输出通过管道传输到命令B,然后将命令B的输出通过管道传输到命令C,然后将命令C的输出通过管道传输到命令D 等等。

管道从一个命令发送数据以供下一个命令使用,并且它会继续这样做,直到您运行最后一个命令,数据始终从右向左流动。这是一条重要的信息,并且数据管道的流动始终以一种方式进行。

您需要什么:Linux命令行中的管道适用于每个Linux发行版,这意味着您所需要的只是任何Linux发行版的正在运行的实例。

管道命令的语法如下所示:

命令1|命令2|命令3

|的|字符表示管道,bash照此读取它。

让我们首先讨论一下我们将通过管道传输的命令。

1.创建一个新文件

在我们实际讨论管道之前,我将首先演示如何创建一个包含颜色列表的新文件。使用以下命令创建文件:

保存并关闭文件。

2.使用排序命令

我们将使用sort命令按字母顺序列出color.text文件中的内容。

另外:您应该在家使用Linux的最重要原因

我们可以使用以下命令来做到这一点:

对颜色.文本进行排序

输出应如下所示:

黑色的

蓝色的

绿色的

橙子

粉色的

紫色的

红色的

黄色的

我们可以使用 和|的组合,而不是单独运行这些命令。在一行上完成此操作。我已经讨论过如何使用 字符组合Linux命令以获得更高效的体验。我们将在管道命令中使用该技术。

3.使用单个命令创建内容并将其添加到新文件中

首先,我们将创建color.txt文件,并使用两个用 连接在一起的命令添加内容,如下所示:

touchcolor.txt echo-e 橙色\n黄色\n红色\n蓝色\n绿色\n紫色\n黑色\n粉色 颜色

您在上面看到的内容使用-e选项来通知echo命令解释转义序列。在这种情况下,\n转义序列在每种颜色之后创建一个新行。

在此之前,我们使用touch命令创建新文件。因此,创建文件,然后添加内容,一次一行。

4.将所有内容连接在一起

在我们执行任何操作之前,请确保使用命令rmColors.txt删除当前的Colors.txt文件。

我们现在要做的是添加前两个命令,然后通过管道使用cat和sort命令。Cat将文件内容读取到终端,sort将对输出进行排序。总而言之,该命令将如下所示:

touchcolors.txt echo-e 橙色\n黄色\n红色\n蓝色\n绿色\n紫色\n黑色\n粉色 colors.txt catcolor.txt|种类

上述命令的输出应如下所示:

黑色的

蓝色的

绿色的

橙子

粉色的

紫色的

红色的

黄色的

这里要记住的一件事是上述命令中完成的唯一管道是catcolor.txt|排序。catcolor.txt命令的输出被发送到sort命令,该命令显示结果。

这就是管道在Linux命令行中的工作原理。这是一个非常方便的技巧,您可以使用它来提高命令行的工作效率。

声明:生活头条网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系admin@gdcyjd.com