使用bash映射不同文件中的列条目

使用bash映射不同文件中的列条目,bash,Bash,我的文件1如下所示: x y C5 1 N1 2 C3 3 N2 4 C4 5 y1 y2 1 2 2 3 4 5 我的文件2如下所示: x y C5 1 N1 2 C3 3 N2 4 C4 5 y1 y2 1 2 2 3 4 5 我想打印该表单的行: @x1@x2 x1-x2_y1-y2.txt 因此,对于y1,我在文件1中查找相应的x1: @C5 @N1 C5-N1_1-2.txt @N1 @C3 N1-C3_2-3.txt 等等

我的文件1如下所示:

x  y
C5  1
N1  2
C3  3
N2  4
C4  5
y1  y2
1   2
2   3
4   5
我的文件2如下所示:

x  y
C5  1
N1  2
C3  3
N2  4
C4  5
y1  y2
1   2
2   3
4   5
我想打印该表单的行:

@x1@x2 x1-x2_y1-y2.txt

因此,对于y1,我在文件1中查找相应的x1:

@C5 @N1 C5-N1_1-2.txt
@N1 @C3 N1-C3_2-3.txt
等等

有什么建议吗

awk 'FNR==NR{x[$2]=$1;next}                         # Store value of $1 into array x as element $2 from file1
FNR==1{next}                                          # Ignore first line
{printf("@%s @%s %s-%s_%s-%s.txt\n",x[$1],x[$1+1],x[$1],x[$1+1],$1,$2)} # print desired output
' file1 file2