在正则表达式中使用awk数组

在正则表达式中使用awk数组,awk,Awk,我试图搜索存储在从file1读取的awk数组“a”中的模式,然后在file2的第4rth列中搜索,下面的命令非常有效 awk -F" " 'NR==FNR{a[NR]=$1;next}{for (i in a){ if($4 ~ a[i])print $0}}' file1 file2 但是,如果我将If处的命令更改为在file2的第4列开始处搜索,如下图所示,则该命令无效,请提供任何建议 awk -F" " 'NR==FNR{a[NR]=$1;next}{for (i in a){ if

我试图搜索存储在从file1读取的awk数组“a”中的模式,然后在file2的第4rth列中搜索,下面的命令非常有效

awk -F" " 'NR==FNR{a[NR]=$1;next}{for (i in a){ if($4 ~ a[i])print $0}}'  file1 file2 
但是,如果我将
If
处的命令更改为在file2的第4列开始处搜索,如下图所示,则该命令无效,请提供任何建议

awk -F" " 'NR==FNR{a[NR]=$1;next}{for (i in a){ if($4 ~ "^a[i]" )print $0}}'  file1 file2 

可以修改第二个命令来搜索文件2中第4列开始处的数组元素吗?

“^a[i]”
更改为
“^a[i]”
,谢谢ED,我意识到我也可以像“^”a[I]”一样组合正则表达式