我有2个文件,如下图所示:
Failel:
a1,b1,c1,d1,e1,f1,g1,h1
a2,b2,c2,d2,e2,f2,g2,h2
a3,b3,c3,d3,e3,f3,g3,h3
a4,b4,c4,d4,e4,f4,g4,h4
文件2:
x1,y1,z1
x2,y2,z2
x3,y3,z3
x4,y4,z4
我想在像下面的模式既和输出变量同时读取:
a1,b1,c1,d1,x1,e1,f1,y1,g1,z1,h1
a2,b2,c2,d2,x2,e2,f2,y2,g2,z2,h2
a3,b3,c3,d3,x3,e3,f3,y3,g3,z3,h3
a4,b4,c4,d4,x4,e4,f4,y4,g4,z4,h4
好消息 - 我已经成功地实现它!
坏消息 - 太多的阵列和while循环(太多的计算!)。 我在寻找的东西作为脚本将不得不通过大量的数据读取更简单的(4K线和1M的话)。
限制 - BASH外壳(可能不是限制!)
这是我做了什么
exec 5<file1 # Open file into FD 5
exec 6<file2 # Open file into FD 6
while IFS=$"," read -r line1 <&5
IFS=$"," read -r line2 <&6
do
array1=( `echo $line1` )
array2=( `echo $line2` )
array3=("${array1[@]}","${array2[@]}")
echo ${array3[@]} >> tmpline
done
while IFS="," read var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11
do
echo -e "$var1,$var2,$var3,$var4,$var9,$var5,$var6,$var10,$var8,$var11,$var9" >> tcomb
done < tmpline
exec 5<&- # Close FD 5
exec 6<&- # Close FD 6
在此先感谢 - 我耐心等待:)!