Change data in one column with data from another file's column

Hello,

I have this file outputData:

[root@azrcc3vsys-zbx1 tmp]# cat /tmp/outputData
[L3 functionality for ESB switch]_[1234]_Capacity^6^NBSC01_Licences^L3_functionality_for_ESB_switch
[Gb over IP]_[7]_Capacity^2100^NBSC01_Licences^Gb_over_IP
[EDGE BSS Fnc]_[4]_Capacity^1837^NBSC01_Licences^EDGE_BSS_Fnc
[GPRS CS3 and CS4]_[2]_Capacity^1816^NBSC01_Licences^GPRS_CS3_and_CS4
[Soft CH capa]_[14]_Capacity^2100^NBSC01_Licences^Soft_CH_capa
[AMR Capacity]_[1]_Capacity^1950^NBSC01_Licences^AMR_Capacity
[PCU2 app SW]_[13]_Capacity^68^NBSC01_Licences^PCU2_app_SW
[Flexi EDGE BTS Operating SW]_[73]_Capacity^898^NBSC01_Licences^Flexi_EDGE_BTS_Operating_SW
[STIRC]_[393]_Capacity^850^NBSC01_Licences^STIRC
[E-Cell GPRS]_[591]_Capacity^1000^NBSC01_Licences^E-Cell_GPRS
[Double Power TRX for 2G BTS]_[834]_Capacity^50^NBSC01_Licences^Double_Power_TRX_for_2G_BTS
[GPRS]_[673]_Capacity^2199^NBSC01_Licences^GPRS
[2G Flexi Additional 2 E1,T1  IF]_[909]_Capacity^151^NBSC01_Licences^2G_Flexi_Additional_2_E1,T1__IF
[2G Flexi Abis over IP/ Ethernet]_[1015]_Capacity^10^NBSC01_Licences^2G_Flexi_Abis_over_IP/_Ethernet
[1TRX Basic SW licence]_[1262]_Capacity^2800^NBSC01_Licences^1TRX_Basic_SW_licence
[Downlink Dual Carrier]_[1273]_Capacity^10^NBSC01_Licences^Downlink_Dual_Carrier
[105km Extended Cell for CS]_[1219]_Capacity^754^NBSC01_Licences^105km_Extended_Cell_for_CS
[Flexi Multiradio TRX HW Activation]_[1379]_Capacity^2600^NBSC01_Licences^Flexi_Multiradio_TRX_HW_Activation
[GSM Power License for MultiRadio]_[3730]_Capacity^130^NBSC01_Licences^GSM_Power_License_for_MultiRadio
[Extended CCCH]_[1826]_Capacity^700^NBSC01_Licences^Extended_CCCH
[Lb Interface basic]_[16]_Capacity^1^NBSC01_Licences^Lb_Interface_basic
[Lb AGPS]_[19]_Capacity^1^NBSC01_Licences^Lb_AGPS
[Lb UTDOA]_[20]_Capacity^1^NBSC01_Licences^Lb_UTDOA
[root@azrcc3vsys-zbx1 tmp]# 

and featureCodesAndCapacity

[root@azrcc3vsys-zbx1 tmp]# cat /tmp/featureCodesAndCapacity
1234^4
7^16
4^1321
2^1321
14^389
1^1780
13^38
73^584
393^0
591^0
834^0
673^0
909^30
1015^0
1262^1807
1273^0
1219^0
1379^1196
3730^85
1826^3
16^0
19^0
20^0

Columns separated by ^
What I am trying to do is to substitude column 2 at outputData with second columns from featureCodesAndCapacity

I am using below command:

awk 'FNR==NR{a[NR]=$2;next}{$2=a[FNR]}1' FS="^" /tmp/featureCodesAndCapacity FS="^" /tmp/outputData

But the only thing which is wrong here is that it removes ^ symbol and replaces it with Space which is not acceptable, can anyone give a clue how to leave ^ symbols?

Here is output (there 4 columns and 3 ^ symbols:

[root@azrcc3vsys-zbx1 parsing]# awk 'FNR==NR{a[NR]=$2;next}{$2=a[FNR]}1' FS="^" /tmp/featureCodesAndCapacity FS="^" /tmp/outputData 
[L3 functionality for ESB switch]_[1234]_Capacity 4 NBSC01_Licences L3_functionality_for_ESB_switch
[Gb over IP]_[7]_Capacity 16 NBSC01_Licences Gb_over_IP
[EDGE BSS Fnc]_[4]_Capacity 1321 NBSC01_Licences EDGE_BSS_Fnc
[GPRS CS3 and CS4]_[2]_Capacity 1321 NBSC01_Licences GPRS_CS3_and_CS4
[Soft CH capa]_[14]_Capacity 389 NBSC01_Licences Soft_CH_capa
[AMR Capacity]_[1]_Capacity 1780 NBSC01_Licences AMR_Capacity
[PCU2 app SW]_[13]_Capacity 38 NBSC01_Licences PCU2_app_SW
[Flexi EDGE BTS Operating SW]_[73]_Capacity 584 NBSC01_Licences Flexi_EDGE_BTS_Operating_SW
[STIRC]_[393]_Capacity 0 NBSC01_Licences STIRC
[E-Cell GPRS]_[591]_Capacity 0 NBSC01_Licences E-Cell_GPRS
[Double Power TRX for 2G BTS]_[834]_Capacity 0 NBSC01_Licences Double_Power_TRX_for_2G_BTS
[GPRS]_[673]_Capacity 0 NBSC01_Licences GPRS
[2G Flexi Additional 2 E1,T1  IF]_[909]_Capacity 30 NBSC01_Licences 2G_Flexi_Additional_2_E1,T1__IF
[2G Flexi Abis over IP/ Ethernet]_[1015]_Capacity 0 NBSC01_Licences 2G_Flexi_Abis_over_IP/_Ethernet
[1TRX Basic SW licence]_[1262]_Capacity 1807 NBSC01_Licences 1TRX_Basic_SW_licence
[Downlink Dual Carrier]_[1273]_Capacity 0 NBSC01_Licences Downlink_Dual_Carrier
[105km Extended Cell for CS]_[1219]_Capacity 0 NBSC01_Licences 105km_Extended_Cell_for_CS
[Flexi Multiradio TRX HW Activation]_[1379]_Capacity 1196 NBSC01_Licences Flexi_Multiradio_TRX_HW_Activation
[GSM Power License for MultiRadio]_[3730]_Capacity 85 NBSC01_Licences GSM_Power_License_for_MultiRadio
[Extended CCCH]_[1826]_Capacity 3 NBSC01_Licences Extended_CCCH
[Lb Interface basic]_[16]_Capacity 0 NBSC01_Licences Lb_Interface_basic
[Lb AGPS]_[19]_Capacity 0 NBSC01_Licences Lb_AGPS
[Lb UTDOA]_[20]_Capacity 0 NBSC01_Licences Lb_UTDOA
[root@azrcc3vsys-zbx1 parsing]# 

---------- Post updated at 03:05 PM ---------- Previous update was at 02:58 PM ----------

I found the error, need to use OFS instead:

awk 'FNR==NR{a[NR]=$2;next}{$2=a[FNR]}1' FS="^" /tmp/featureCodesAndCapacity OFS="^" /tmp/outputData

You can add OFS :

awk 'FNR==NR{a[NR]=$2;next}{$2=a[FNR]}1' FS="^" OFS="^" /tmp/featureCodesAndCapacity /tmp/outputData