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

4
我希望使用Linux的cut命令从文件中提取一列,然后使用paste命令将同一列插入到第二个文件中。我可以通过保存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

不用说,数据比这个要大得多且更加复杂。但是这给出了我需要做的事情的想法。再次感谢。

附言:由于原因太详细而无法解释,“join”命令将无法使用。


1
请提供一个示例,展示输入/输出可能是什么样子。 - hek2mgl
1个回答

8

如果您可以接受制表符(或其他单个字符),则可以执行以下操作:

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

paste 命令中的 - 选项读取标准输入,这里当然包括了 cut 命令生成的每一行。没有进行值的匹配,这只是一种直接将每一行内容复制粘贴的方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接