这是隐式管道吗?

Is this an implicit pipe?

考虑:

./wordcount.py < war_and_peace.txt | sort -grk 2 | head

令我惊讶的是,以下内容也能正常工作并产生相同的输出:

./wordcount.py < war_and_peace.txt sort -grk 2 | head

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

s this an implicit pipe?

没有

How is the latter command interpreted?

./wordcount.py sort -grk 2 < war_and_peace.txt | head

< war_and_peace.txt ./wordcount.py sort -grk 2 | head

./wordcount.py sort -grk < war_and_peace.txt 2 | head

一个 ./wordcount.py 命令是 运行,有 3 个参数 - 字符串 sort、字符串 -grk 和字符串 2,标准输入从 [=17] 重定向=] 文件。命令的输出被重定向到命令 head.

的输入

命令参数之间 < 后跟文件名的位置无关紧要。通常放在最后。我喜欢以 < 作为第一个参数开始命令,因为它是输入,但有些人觉得它很混乱。