РЕДАКТИРОВАТЬ: Поскольку OP изменил примерные данные Input_file, поэтому добавьте это решение сейчас.
awk '
FNR==NR{
a[$3,$4,$5]=$3
b[$3,$4,$5]=$4
next
}
{
val=$1 SUBSEP $2 SUBSEP $9
val_last=$1 OFS $2
}
(val in a){
$2=b[val]
$1=a[val]
print $0,"R",val_last
next
}
{
print $0,"O",val_last
}' Input_file1 Input_file2 | column -t
Похоже, что ваш ожидаемый результат не соответствует условиям, которые вы объяснили, если это так, попробуйте выполнить следующие действия (протестировано только с вашими показанными образцами).
awk '
FNR==NR{
a[$1,$2,$5]=$3
b[$1,$2,$5]=$4
next
}
{
val=$1 SUBSEP $2 SUBSEP $9
}
(val in a){
$2=b[val]
$1=a[val]
print $0,"R"
next
}
{
print $0,"O"
}' Input_file1 Input_file2
Почему код OP не работает: Поскольку однажды $1
я изменился с Input_file1, тогда следующий элемент не может быть установлен, так как значение текущей строки в $ 1 изменяется на $ 1 в Input_file1 Теперь.