Я пытаюсь сделать без учета регистра ВПР, используя AWK для 1-го столбца в файле, но его игнорирование IGNORECASE и не соответствует в нижнем регистре также используют тот же AWK, как сравнивать 3-ю колонкурегистронезависимы AWK ВПР
awk -F, 'BEGIN{IGNORECASE=1} FNR==NR{a[$1]=$3","$4;next} {print (($1 in a) ? $0","a[$1] : $0",NA,NA");}'
cat f1.txt
FOO,LONDON,45,789
goo,US,46,9876
cat f2.txt
FOO,LONDON,45,789
GOO,US,46,9876
awk -F, 'BEGIN{IGNORECASE=1} FNR==NR{a[$1]=$3","$4;next} {print (($1 in a) ? $0","a[$1] : $0",NA,NA");}' f1.txt f2.txt
FOO,LONDON,45,789,45,789
GOO,US,46,9876,NA,NA
Да он работает (есть ссылка на сайте IGNORECASE не будут работать на массивах), как шаблон матч за 3-й столбец вместо первого столбца –
@ Inian, как сопоставить шаблон для третьего столбца вместо первого столбца. но оба файла имеют смешанную комбинацию букв верхнего и нижнего регистра, в этом случае они преобразуются в нижний регистр и выполняют совпадение. –
@ sam_84: Это совершенно новый вопрос, выходящий за рамки этого. Можете ли вы спросить об этом как о новом, с вашим вводом и требуемым выходом? – Inian