开篇词
结合管道(|)符号,我们可以将一个程序的输出作为当前输入的初始数据。
管道符号
一个基于场景的问题
我们假设有一个叫 fresh_file 的文件,里面持有两行文本:
cat fresh_file
该文件只有两行文本,所以行数是比较容易看到的,但万一我们需要统计的文件有很多内容呢?我们怎样快速并高效地获取文本文件里的行数呢?
统计文件内容的行数
我们可以将 cat 命令的输出通过 Shell 的管道特性传输至 wc 命令里,并将它作为 wc 命令的初始数据:
cat fresh_file | wc -l
统计文件内容的词量
cat fresh_file | wc -w
统计文件内容的字数
cat fresh_file | wc -c
连续管道
Bash 支持多管道背对背的执行:
cat fresh_file | wc -c | wc -l
我所撰写的英文版本
21. Pipelines - Use Other Commands’ Running Results
引用
参见
想看手册的其他内容?请访问该手册的所属专栏:《Linux 管理员手册:既简单又深刻》