这是隐式管道吗?

Alw*_*ing 0 bash ubuntu pipe

考虑:

./wordcount.py < war_and_peace.txt | sort -grk 2 | head
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,以下代码也有效并产生相同的输出:

./wordcount.py < war_and_peace.txt sort -grk 2 | head
Run Code Online (Sandbox Code Playgroud)

后一个命令如何解释?管道是否sort隐式发生?

Kam*_*Cuk 5

这是隐式管道吗?

不。

后一个命令如何解释?

./wordcount.py sort -grk 2 < war_and_peace.txt | head
Run Code Online (Sandbox Code Playgroud)

或者

< war_and_peace.txt ./wordcount.py sort -grk 2 | head
Run Code Online (Sandbox Code Playgroud)

或者

./wordcount.py sort -grk < war_and_peace.txt 2 | head
Run Code Online (Sandbox Code Playgroud)

命令./wordcount.py使用 3 个参数运行 - string sort、 string和带有从文件重定向的标准输入的-grkstring 。命令的输出被重定向到 command 的输入。2war_and_peace.txthead

命令参数之间后跟文件名的位置<并不重要。通常放置在最后。我喜欢将命令<作为第一个参数启动,因为它是输入,但有些人觉得它令人困惑。