将特定列与另一个文件匹配

时间:2015-08-26 06:33:23

标签: shell awk grep

我准备从fileA找到第1列和第3列到fileB的第2列和第4列。

文件1

  111111,22222,555555
  xxxxxx,555555,yyyyy

file2的

  xxxxxx,111111,oooooo,555555
  yyyyyy,222222,111111,555555

输出

  111111,22222,555555 | xxxxxx,111111,oooooo,555555

到目前为止,下面的代码只匹配第2列(fileB)中的第1列(fileA)。

 awk -F, '{print $1}' fileA | grep "$(awk -F, '{print $2}' fileB)" 

1 个答案:

答案 0 :(得分:0)

使用单个awk脚本来处理文件。 E.g:

awk -F, 'NR==FNR{a[$1,$3]=$0;next}($2,$4)in a{print a[$2,$4]" | "$0}' fileA fileB
111111,22222,555555 | xxxxxx,111111,oooooo,555555