如何在unix

时间:2016-08-25 13:06:06

标签: unix format

我想从文件1格式转换为文件2格式(下面)。 我有制表符分隔文件1(前两行,但文件包含1000行),有3个部分:名称,第一组数字,第二组数字由www分隔。 我想转换为文件2(下面)的格式。如果File1中的多个条目将某个名称拆分为单独的行,则将其拆分。这些列是制表符分隔的,有4列:名称,+,来自第二组File1的数字,来自第一组File1的数字。如果可能,我希望在unix中解决该问题。我非常感谢你的帮助。

档案1

Name_1 www 5 5 www 17 23

Name_2 www 7 54 14 www 300 16 29

Name_3 www 6 www 26

...

文件2

Name_1 + 17 5

Name_1 + 23 5

Name_2 + 300 7

Name_2 + 16 54

Name_2 + 29 14

Name_3 + 26 6

...

1 个答案:

答案 0 :(得分:1)

一些复杂的索引算法:

awk '{
    n = (NF-3)/2
    for (i=1; i <= n; i++)
        print $1, "+", $(2+i), $(NF-n+i)
}' file1 > file2