Linux - 如何从一个文件中剪切列并在单行命令中粘贴到另一个文件中?

时间:2013-07-23 17:14:13

标签: linux paste cut

我想使用linux cut命令从文件中提取列,然后使用paste命令将同一列插入第二个文件。我可以通过保存剪切命令的结果,然后在其上运行粘贴和第二个文件来完成此操作。但在我看来,必须有一些单行程,这不涉及保存中间结果。谁知道那是什么?感谢。

例如,第一个文件可能看起来像

date        weight
1-1-2010    weight1
1-2-2010    weight2
1-3-2010    weight3

,第二个可能看起来像

date        blood_press
1-1-2010    bp1
1-2-2010    bp2
1-3-2010    bp3

我希望输出

date       weight     blood_press
1-1-2010   weight1    bp1
1-2-2010   weight2    bp2
1-3-2010   weight3    bp3

毋庸置疑,数据比这更大,更复杂。但是这给出了我需要做的事情的想法。再次感谢。

P.S。由于原因太详细,“join”命令无效。

1 个答案:

答案 0 :(得分:7)

如果您可以使用制表符分隔符(或其他单个字符),则可以执行

cut [column-spec] file1 | paste file2 - > file3

-命令中的paste读取标准输入,当然包含cut生成的行。这些值没有匹配,这是一种直线复制和粘贴。