Linux粘贴命令的标准input

$paste num let 1 a 2 b 3 c 4 d 

所以当我这样做

 $ cat num | paste - - 1 2 3 4 

我的问题是为什么不把“ cat num | paste - - ”生成为:

 1 1 2 2 3 3 4 4 

显然, paste从第一个“文件”(这是标准输入)读取一行,然后从第二个“文件”(也是标准输入)读取一行,并粘贴它们以创建第一行输出。 然后重复。

paste的POSIX规范明确地说明了这一点:

如果为一个或多个文件指定了“ - ”,则应使用标准输入; 标准输入应循环读取一行,每个“ - ”。

你可以使用“ paste num num ”来生成

 1 1 2 2 3 3 4 4