У меня есть два файла, и я должен взять нужные мне столбцы из обоих файлов и объединить их вместе. Я хотел бы использовать awk для этого.
Итак, из FileB мне нужно 9-> 12 долларов. Если 4 доллара в файле А совпадают с 12 долларами в файле Б, мне понадобятся 1, 2, 3, 5 и 6 долларов из файла А.
Вот что у меня есть до сих пор:
скрипт.awk:
FNR==NR {
blah = $12
gsub(/"/,"",blah); gsub(/;/,"",blah);
array[blah]=$9,$10,$11,$12 ## This breaks here
next
}
{
if ($4 in array) {
print $1,"TransMap","Tcon",$2,$3,$5,$6,".",array[$4]
}
}
Я бы запустил это так: awk -f script.awk fileB fileA Итак, обратите внимание, что $12 FileB не является точным совпадением — любые совпадения с $4 будут в следующем формате: "$4"; (отсюда и gsubs). Мне нужен этот формат, а не то, что в 4 доллара в конечном выводе, поэтому я сделал это таким образом.
Строка array[blah]=$9,$10... разрывается на awk (очевидно). Но мне нужны все 4 этих поля из FileB - как мне это исправить? Онлайн-инструкции для awk не были ясны.