shell 管道

shell通过管道命令:|,可以将多个命令连接起来执行,前一个命令的输出作为后一个命令的输入:

命令1 | 命令2 | 命令3
命令1 |& 命令2

如果使用了|&命令,命令1的标准错误输出将会和命令2的标准输出相连,即2>&1 |的简写形式。

如果我们想统计一个文件有多少行,可以使用管道组合命令来完成:

root@pc:/home/demo# cat log 
hello
zhaixue.cc
hello 
world
bye
root@pc:/home/demo# cat log | wc -l         统计文件行数
5
root@pc:/home/demo# cat log | grep "hello"  搜索字符串
hello
hello 
root@pc:/home/demo#

在这个例子中,cat log命令的输出作为下一个命令的输入。通过运行结果我们可以看到,通过管道,第一个命令的标准输出就相当于重定向到了下一个命令的标准输入。

管道常和下面的命令一起结合使用

sort命令

排序,默认以首字母排序,-n以数字排序,-r反向排序,-t分隔符

root@pc:/home/demo# cat log 
hello
zhaixue.cc
hello 
world
bye
root@pc:/home/demo# cat log | sort
bye
hello
hello 
world
zhaixue.cc
root@pc:/home/demo# cat log | sort -r
zhaixue.cc
world
hello 
hello
bye
root@pc:/home/demo#

wc命令

统计,-l参数统计行数,-w参数统计单词数,-m参数统计字符数

root@pc:/home/demo# cat log 
hello
zhaixue.cc
hello 
world
bye
root@pc:/home/demo# cat log | wc -l
5
root@pc:/home/demo# cat log | wc -m
34
root@pc:/home/demo# cat log | wc -w
5
《Linux三剑客》视频教程:Linux下开发工具vim、Git、Makefile、autotools、qemu、debug精讲,从零开始一步一步写项目的Makefile,提供企业级Makefile模板,Git操作实战,vim从新手到高手,一步一步打造类似Source Insight的IDE!详情点击:王利涛老师个人淘宝店:Linux三剑客