映射ID的有效方法

时间:2013-12-16 02:44:10

标签: bash shell

我有两个文本文件,

文件1包含

等数据

用户游戏次数

A Rugby 2
A Football 2
B Volleyball 1
C TT 2
...

文件2

1 Basketball
2 Football
3 Rugby
...
90 TT
91 Volleyball
...

现在我要做的是在文件2中添加另一列,以便我将文件2中相应的游戏索引作为文件1中的额外列。

我在文件1中有200万个条目。所以我想添加另一个列,指定文件2中游戏的索引(基本上是行号或顺序)。如何有效地执行此操作。

现在我逐行做这个。从文件1中读取一行,从文件2中获取相应的游戏,获取其行号并将其保存/写入文件。

这将花费我很多年。我怎样才能加快速度呢?

2 个答案:

答案 0 :(得分:1)

未测试

awk 'NR==FNR{a[$2]=$1;next}{print $0,a[$2]}' file2 file1

答案 1 :(得分:1)

您的File2应该没有重复的记录,例如没有两个足球索引记录。

awk 'FNR==NR{a[$2]=$1;next}$0=$0 FS a[$2]' file2 file1