Цель состоит в том, чтобы проверить, соответствуют ли значения для столбца 3 и 4 в файле1 столбцу 1 в файле2.
Если какое-либо значение совпадает, выполните:
1) Замените значения в file2 для столбцов 2 и 3, используя информацию из file1, столбцы 5 и 6
2) Замените строку ($ 1, 1,5) и строка ($ 1,6,5) в файле2 со значениями столбцов 7 и 8 из файла1
3) Добавьте символ R для замененных строк и O для незаменяемых строк.
file1
2,100,31431,37131,999991.70,0000000.30,11111,22222,3
3,100,31431,37471,111113.20,1111111.30,22222,33333,4
file2
3143137113 318512.50 2334387.50 100
3143137131 318737.50 2334387.50 100
3143137201 319612.50 2334387.50 100
3143137471 322987.50 2334387.50 100
3143137491 323237.50 2334387.50 100
Желаемый вывод:
31431,37113,318512.50,2334387.50,100,O
11111,22222,999991.70,0000000.30,100,R
31431,37201,319612.50,2334387.50,100,O
22222,33333,111113.20,1111111.30,100,R
31431,37491,323237.50,2334387.50,100,O
Я пытался
awk '
BEGIN{
OFS=","
}
FNR==NR {
f1_56[$3$4]=($5 OFS $6)
f1_78[$3$4]=($7 OFS $8)
next
}
{$(NF+1)="O"}
$1 in f1_56 {
split(f1_56[$1], a, OFS)
$2 = a[1]
$3 = a[2]
split(f1_78[$1], a, OFS)
$1=a[1] OFS a[2]
$NF="R"
} 1
' FS=, file1 FS=' ' file2
Заранее спасибо