Ama*_*rus 28 linux unix debian command-line-interface process
我最近在 Debian(和 Ubuntu)中发现了“moreutils”包。它是一组方便的 unix 工具。
命令之一是“小便”。手册页说:
小便就像三通,但用于管道。
然而,这是一个简短的手册页,我已经提交了一个关于它的错误。有谁知道它的作用,如何使用它,为什么要使用它?
Tob*_*obu 35
以下是您可以用小便做的事情:
seq 5 -1 1 > file
cat file |pee 'sort -u > sorted' 'sort -R > unsorted'
Run Code Online (Sandbox Code Playgroud)
所以 pee 使用 shell 管道而不是文件。
bash 不需要小便,它可以将 shell 命令作为文件打开:
cat file |tee >(sort -u > sorted) >(sort -R > unsorted)
Run Code Online (Sandbox Code Playgroud)
Dan*_*ley 19
如果您tee
先使用过,可能更容易理解。这个有用的旧工具接受标准输入并写出到多个文件,加上标准输出。下列:
echo "Hello world" | tee one two
Run Code Online (Sandbox Code Playgroud)
将创建两个文件,命名为one
和two
,都包含字符串Hello world
。它还将打印到您的终端。
现在pee
执行类似的功能,但不是将输出重定向到多个文件,而是重定向到多个辅助命令,ala 管道。它与tee
不将原始标准输入发送到标准输出的方面略有不同,因为将其与辅助命令的输出结合起来是没有意义的。以下非常简单的例子:
echo "Hello world" | pee cat cat
Run Code Online (Sandbox Code Playgroud)
将字符串输出Hello world
到您的终端两次。这是因为 的两个实例中的每一个都cat
接收标准输出并执行该cat
操作,即打印。
归档时间: |
|
查看次数: |
5699 次 |
最近记录: |