首页 > 解决方案 > 将 File1 与 File2 合并(继续从 File1 追加到 File2 直到没有更多行)

问题描述

我找不到解决方案。所以这就是问题所在。结果应该是 100 行 (File1),其中来自 File2 的内容重复 25 次。我想要的是加入内容,即使行数不相等。不断重复包括来自 File2 的行,直到满足来自 File1 的行数。

文件1:

test1@domain.com
test2@domain2.com
test3@domain3.com
test4@domain4.com

文件2:

A1,B11
A2,B22
A3,B33
A4,B44

我想要的是组合以下文件以获得以下预期结果:

文件3:

test1@domain.com,A1,B12
test2@domain2.com,A2,B22
test3@domain3.com,A3,B33
test4@domain4.com,A4,B44

此处注意:完成 File2 中的 4 行后,从第一行重新开始,然后重复。

test5@domain5.com,A1,B12
test6@domain6.com,A2,B22
test7@domain7.com,A3,B33
test8@domain8.com,A4,B44

标签: bashawksed

解决方案


您问题中的示例尚不清楚,但我认为这就是您要尝试做的事情:

$ awk -v OFS=',' 'NR==FNR{a[++n]=$0;next} {print $0, a[(FNR-1)%n+1]}' file2 file1
test1@domain.com,A1,B11
test2@domain2.com,A2,B22
test3@domain3.com,A3,B33
test4@domain4.com,A4,B44
test5@domain5.com,A1,B11
test6@domain6.com,A2,B22

以上是针对此输入运行的:

$ cat file1
test1@domain.com
test2@domain2.com
test3@domain3.com
test4@domain4.com
test5@domain5.com
test6@domain6.com
$
$ cat file2
A1,B11
A2,B22
A3,B33
A4,B44

推荐阅读