将数据部分与标头部分结合起来

将数据部分与标头部分结合起来

我正在尝试合并一个具有标头的文件和另一个具有数据组件的文件。例如…

header.bcp(全部在一行,不限于 4 列):

SNO,Name,Age,Gender ......

data.bcp(多行,字段数与列数相同):

1,"ABC",20,"M" .....
2,"XYZ",22,"F" .....

预期输出应该是:

SNO=1,Name="ABC",Age=20,Gender="M" ....
SNO=2,Name="XYZ",Age=22,Gender="F" ....

我的猜测是awk,有什么快速的解决方案、想法吗?

答案1

快速又肮脏的解决方案如果字段不能包含嵌入的逗号正如评论中提到的:

awk '
  BEGIN {FS=","; OFS=FS} 
  NR==FNR {split($0,a); next} 
  {
    for(i=1; i<=NF;i++) $i=a[i]"="$i;
  } 1
' header.bcp data.bcp

相关内容