Could some one please help to compare two files,
i have used the below command but i couldnt succeed on it,
awk -F, ‘NR == FNR {a[$1,$2]; next} (($1,$2) in a )’ temp1.dat temp2.dat
Here is my need,
need to compare first two fields in the below two dat files and merge the result as expected in file3(first field, second field, 3 field of temp1.dat, 3 field of temp2.dat)
File1:temp1.dat
A, AB,100
B,BB,200
C,CC,300
File2:temp2.dat
A,AB,10
C,CC,30
D,DF, 4
File3 :output
A, AB,100,10
C,CC,300,30
awk -F, 'BEGIN{OFS=","}FNR==NR{a[$1$2]=$3;next}($1$2 in a && $3=$3","a[$1$2])' file2 file1tested below:
FNR==NR{a[$1$2]=$3;next}is applied for the first file file2FNR==NRexecute teh block of code.$1$2and value as$3.($1$2 in a && $3=$3","a[$1$2])this executes for
FNR!=NR.where in it checks for index $1$2 exists as an index in the array and then teh second condition is changing the 3rd field of file1 to$3=$3","a[$1$2]so now$0contains the common($1$2) lines which changed 3rd field in them.similar logic has to be written for four files also.