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.
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:
jaduks
5
$ 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