Awk 匹配两个文件中的行和字段

Awk 匹配两个文件中的行和字段,awk,Awk,我想将一个文件中的记录编号与另一个文件中的相同字段编号进行匹配: 文件1: 1 3 5 4 3 1 5 文件2: A B C D E F G H I J J K L M N O P Q R S T 我想使用第一个文件中与5对应的记录编号来获得第二个文件中的相应字段。期望输出: C G J M P T 到目前为止,我已经做了: awk '{ if ($1=="5") print NR }' file1 > temp for i in $(cat temp); do awk '{

我想将一个文件中的记录编号与另一个文件中的相同字段编号进行匹配:

文件1:

1
3
5
4
3
1
5
文件2:

A B C D E F G
H I J J K L M
N O P Q R S T
我想使用第一个文件中与
5
对应的记录编号来获得第二个文件中的相应字段。期望输出:

C G
J M
P T
到目前为止,我已经做了:

awk '{ if ($1=="5") print NR }' file1 > temp
for i in $(cat temp); do
    awk '{ print $"'${i}'" }' file2
done
但要获得输出:

C
J
P
G
M
T
我希望以上述所需输出的格式进行此操作,但无法使其正常工作。也许对循环使用
prinf
awk
可能有效,但我没有成功

谢谢大家

awk 'NR==FNR{if($1==5)a[NR];next}{for(i in a){printf $i" "}print ""}' a b
C G
J M
P T