在正则表达式中使用awk数组
我试图搜索存储在从file1读取的awk数组“a”中的模式,然后在file2的第4rth列中搜索,下面的命令非常有效在正则表达式中使用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
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]”一样组合正则表达式