如何基于公共字段组合文件?

时间:2012-10-26 00:06:43

标签: file bash unix sorting

  

可能重复:
  merge two files by key if exists in the first file / bash script

我正在尝试结合这两个文本选择的好方法(这些是我将要处理的类似格式的文本示例),基于冒号前面的数字。这可以在一个bash环境中完成,我已经尝试过使用cut和其他命令来实现它的方法,但是我还没有想出任何可行的东西。

selection 1
1:829ede2828e9
2:893h8ew9nediucn
3:mdheuwe883ud8932

selection 2
1:stack
2:over
3:flow

输出将是

的内容
1:stack:829ede2828e9
2:over:893h8ew9nediucn
3:flow:mdheuwe883ud8932

所以它基本上是根据冒号前面的数字组合和匹配文件。此代码将用于处理大约39,000行文本。我在这个时间点难过,所以我真的很感激我能得到的任何帮助,谢谢!也忘了提及数字不一致(例如1,3,4,5,9,11,22),尽管两个文件/文本集都有相同的数字集。

1 个答案:

答案 0 :(得分:3)

您可以像这样使用join

join -t: selection2.txt selection1.txt