У меня есть файл с несколькими записями, предоставляющими идентификаторы, и другой файл с другими записями, разделенными на разные поля, разделенные вкладкой. Мне нужно выбрать записи второго файла на основе сопоставления значения первого файла. Я видел в Интернете, что AWK - правильный инструмент (хотя, вероятно, GREP проще), но я не получаю никакого вывода.
В этом примере я использовал массивы чаще, чем файлы, но для использования awk мне пришлось создать временный файл. По сути, мне нужно сопоставить 3-е поле второго файла (var2) со значением, указанным в первом файле (var1). Форма выбора var2 должна выглядеть так: «shameText \t someWhat \t beta \t thatss», из которой я печатаю только первое поле, поэтому вывод должен быть просто "shameText". Возможно, я пропустил правильный способ назначения массивов, но в любом случае этот пример - просто прокси для реального соответствия файлов.
Вопрос в следующем: как выбрать строку (запись) или одно поле на основе соответствия между полем и значением переменной?
Пример:
var1="alpha beta gamma delta epsilon"
var2="
'someText somethingElse zeta someMore'
'sameText someElse kappa andMore'
'shameText someWhat beta thatIs'
'shortText moreElse theta andMore'"
echo $var2 > tempFile
for i in $var1
do
printf "i is: %s\n" $i
awk -F\t '$3 == "$i" {print $1}' tempFile
echo "next item"
done
rm tempFile