Chinaunix

标题: awk匹配第一列和第二列 [打印本页]

作者: sequencing    时间: 2013-09-04 17:05
标题: awk匹配第一列和第二列
本帖最后由 sequencing 于 2013-09-04 17:07 编辑

现有两个文件:
文件A,
文件B,有2列
现在希望将A中的每一行和B中的每一行的第一列和第二列对比,如果能匹配上第一列和第二列,则输出A中记录,如
A:

  1. Go travelling next Monday
  2. Have supper at dinning hall
  3. Go swimming at ICC
  4. Have supper at JQB
复制代码
B:
  1.        
  2. supper        Monday
  3. travelling        Monday
复制代码
得到的结果应该是
  1. Go travelling next Monday
复制代码
我写了个脚本,但没有任何结果输出,感觉应该是和$1匹配时出的问题,但又找不到为什么,请各位帮忙看看。
  1. awk 'NR==FNR{a[NR]=$0}NR>FNR{for(i in a)if(a[i]~/$1/ && a[i]~/$2/)print i"\t"a[i]}' A B
复制代码

作者: WilliBhamlll    时间: 2013-09-04 17:28
  1. awk 'NR==FNR{a[NR]=$0}NR>FNR{for(i in a)if(a[i]~$1 && a[i]~$2)print i"\t"a[i]}' A B
复制代码

作者: sequencing    时间: 2013-09-04 18:15
WilliBhamlll 发表于 2013-09-04 17:28
多谢WilliBhamlll!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2