Я ищу способ сравнить столбец 2$ и столбец 1$ из двух файлов и если они - то же, чем печать все столбцы из первого файла со столбцом 2$ из второго файла.
file_1.txt
apple tree 5
great see 10
see apple 3
tree bee 11
make change 2
file_2.txt
apple 5.21
around 6.21
great 2
bee 1
see 7.43
tree 3
Вывод должен быть похожим:
apple tree 5 3
great see 10 7.43
see apple 3 5.21
tree bee 11 1
Я попробовал
awk 'NR==FNR{a[$2];next} ($1 in a) {print}' file_1.txt file_2.txt > output.txt
который, очевидно, просто печатает согласующие отрезки длинной линии file_2.txt. Таким образом, как я добавляю оператор печати для столбцов 1-го файла?
Я пытался читать в большем количестве столбцов в массиве как
awk 'NR==FNR{a[$2];b[$1];c[$3];next} ($1 in a) {print a, b c}' file_1.txt file_2.txt > output.txt
который является, очевидно, неправильным ;)
Справка очень ценится.
Как насчет
$ awk 'NR==FNR {a[$1]=$2; next} $2 in a {print $0, a[$2]}' OFS='\t' file_2.txt file_1.txt
apple tree 5 3
great see 10 7.43
see apple 3 5.21
tree bee 11 1