在文件上进行复杂的连接

时间:2012-09-13 01:43:17

标签: unix join

我有文件(~1k)看起来(基本上)像这样:

NAME1.txt
NAME    ATTR    VALUE
NAME1   x       1      
NAME1   y       2
...

NAME2.txt
NAME    ATTR    VALUE
NAME2   x       19
NAME2   y       23
...

其中ATTR collumn在每个文件中相同,而name列只是文件名的某个版本。我想将它们组合成一个看起来像的文件:

All_data.txt
ATTR    NAME1_VALUE    NAME2_VALUE    NAME3_VALUE ...
X       1              19             ...
y       2              23             ...
...

使用命令行实用程序是否有简单的方法可以执行此操作,还是必须编写一些脚本?

由于

1 个答案:

答案 0 :(得分:0)

您需要编写脚本。 gawk是明显的候选人 你可以在BEGIN块中创建一个关联数组,使用FILENAME作为KEY和
ATTR“”价值 值作为值。 然后在END块中创建输出。 gawk可以使用* txt作为文件名

来处理所有txt文件

期望有一个现成的命令来完成你想要的任务,这有​​点乐观。 很少有命令水平连接数据。