Linux粘贴命令标准输入

时间:2014-10-21 06:11:56

标签: linux shell paste

$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

2 个答案:

答案 0 :(得分:6)

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

paste的POSIX规范明确涵盖了这一点:

  

如果' -'如果为一个或多个文件指定,则应使用标准输入;对于-'的每个实例,标准输入应一次一行地循环读取。

答案 1 :(得分:-1)

您可以使用" paste num num"生成

1 1
2 2
3 3
4 4