admin 发表于 2017-12-17 23:34:52

1.6 管道(一个命令的输出作为另一个命令的输入)

    有时候,需要将一个命令的输出作为另一个命令的输入。这可以用重定向来实现,只是有些笨拙。         以下是用重定向实现的方法:$ rpm -qa > aaa
$ sort < aaarpm -qa命令可以生成已经安装的RPM包都有哪些,并重定向到aaa文件。然后第二行,执行more命令(即分页显示输出,每显示一页后停顿,按任意键继续),并且把aaa文件的内容作为输入。    同样的效果,可以用管道符|来实现,只需要以下一条命令就可以实现同样的效果。或者执行sort命令对其进行按首字母进行排序输出。
   $rpm -qa | sort | more
   部分输出如下:# rpm -qa | sort | more
acl-2.2.51-12.el7.x86_64
aic94xx-firmware-30-6.el7.noarch
alsa-firmware-1.0.28-2.el7.noarch
alsa-lib-1.0.28-2.el7.x86_64
alsa-tools-firmware-1.0.28-2.el7.x86_64
audit-2.4.1-5.el7.x86_64
audit-libs-2.4.1-5.el7.x86_64
authconfig-6.2.8-10.el7.x86_64上例输出中,还看到了管道符的嵌套,最后调用了more来分页显示。每显示一页后停顿,按任意键继续。


页: [1]
查看完整版本: 1.6 管道(一个命令的输出作为另一个命令的输入)