合并两个文件的交叉项

题: 合并两个文件的交叉项。比如:

  1. file1.txt
111111
222222
333
4444
55555
  1. file2.txt
7777,abc,abcd
222222,adfghjk,sdfsdfs
1111,qwertyu
55555,zxcvbn,asdfgh

希望能够得到如下结果:

222222,adfghjk,sdfsdfs
55555,zxcvbn,asdfgh

解:

awk 'BEGIN{FS=","}{if(NF==1){a[$1]++;}else if(a[$1]){printf"%s\n",$0}}' file1.txt file2.txt > file3.txt

awk一个好处就是多长的句子都能写在一行里。。。

作者:ywheel
本文出处:http://blog.ywheel.com/post/2015/02/14/same_content_in_two_files/
文章版权归本人所有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。