簡體   English   中英

將File1與File2合並(繼續從File1追加到File2,直到不再有行)

[英]Merge File1 with File2 (keep appending from File1 to File2 until no more rows)

我找不到解決方案。 所以這就是問題所在。 結果應為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

您問題中的示例不明確,但我認為這是您要做的事情:

$ 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

你可以嘗試一下嗎?

awk '
BEGIN{
  OFS=","
}
FNR==NR{
  a[++count]=$0
  next
}
{
  count_curr++
  count_curr=count_curr>count?1:count_curr
  print a[count_curr],$0
}
'  Input_file2  Input_file1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM