Не могли бы вы попробовать один раз.
awk '
BEGIN{
FS=OFS="|"
}
FNR==NR{
a[$1]=$2
next
}
($1 in a){
if($4<a[$1]){
val=$4*a[$1]
if(val<a[$1]){
val_new=$4-a[$1]
}
}
else{
val=$4-a[$1]
}
print $1,$4,a[$1],val_new?val_new:val,$3
val_new=val=""
}
' Input_fileb Input_filea
Вывод будет следующим. (Проверяется только с предоставленными образцами в случае каких-либо условий, сообщите нам об этом, пожалуйста)
Jimmy|20000|90000|1800000000|BST100114261
Jimmy|120000|90000|30000|BST100114262