使用awk单行打印数组的选定元素

使用awk单行打印数组的选定元素,awk,Awk,假设我有一个如下所示的文件内容 cat文件1 A1 A2 A3 A4 A5 A6 A7 B1 B2 B3 B4 B5 X1 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Z1 Z2 Z3 如果可能,如何使用AWK单线解决方案,使用某种字段分隔符选择性地打印此数组的选定元素。 我想选择并打印第一行的第三字段、第二行的第二字段、第三行的第一字段、第四行的第九字段和第五行的第二字段 A3:B2:X1:Y9:Z2 如果字段分隔符为“:”请尝试执行以下awk命令 awk 'BEGIN {OR

假设我有一个如下所示的文件内容

cat文件1

A1 A2 A3 A4 A5 A6 A7
B1 B2 B3 B4 B5
X1
Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9
Z1 Z2 Z3
如果可能,如何使用AWK单线解决方案,使用某种字段分隔符选择性地打印此数组的选定元素。
我想选择并打印第一行的第三字段、第二行的第二字段、第三行的第一字段、第四行的第九字段和第五行的第二字段

A3:B2:X1:Y9:Z2 

如果字段分隔符为“:”

请尝试执行以下
awk
命令

awk 'BEGIN {ORS=":"; str="3:2:1:9:2"; split(str,a,":")} {print $a[NR]}' file1

请包括您尝试过的代码。这有点不清楚。是
A1 A2
etc值。你选择什么?在我看来,你只要使用
echo“A3:B2:X1:Y9:Z2”
就可以得到你想要的东西。我看不到与表的连接。如何知道要打印哪些字段?