calculate from three files

Hi all
I have 3 three files like:
file1:

1|100
2|200
3|300
4|400
5|500

file2:
1|200
2|200
3|600
4|800

file3:
1|300
2|100
3|200

i would like out put file like:
1|100|200|300|0
2|200|200|100|100
3|300|600|200|700
4|400|800|0|1200

senario:

i wolud like

file1.column2+file2.cloumn2-file3.cloumn2

please help me on this.

what have you tried?

paste file1 file2 file3 |sed 's/|/ /g'|awk '{ if ($6=="") $6=0;if ($4=="") $4=0; if ($2=="") $2=0;print $1 "|" $2 "|" $4 "|" $6"|"$2+$4-$6;}'

Output:

thanks......:slight_smile:

$ paste -d "|" filex filey filez | awk '
> BEGIN{OFS=FS="|"} {print $1,$2,$4,$6,$2+$4-$6}
> ' | awk 'BEGIN{OFS=FS="|"}{ for(i=0;i<=NF;i++)
> if ( $i == "" )
> $i=0
> print $0}'

<Output>
1|100|200|300|0
2|200|200|100|300
3|300|600|200|700
4|400|800|0|1200
5|500|0|0|500

Another one:

awk '
!f { f2[$1] = $2; next }
f == 3 { f3[$1] = $2; next }
f == 1 { $3 = (f2[$1] ? f2[$1] : 0)
    $4 = (f3[$1] ? f3[$1] : 0)
    $5 = $2 + f2[$1] - f3[$1]
}1' FS="|" OFS="|" file2 f=3 file3 f=1 file1