求教大神!小弟先行谢过!perl中怎么实现两个文本文件的匹配,并将相同的部分输出到第三个文件?多谢

求教大神!小弟先行谢过!perl中如何实现两个文本文件的匹配,并将相同的部分输出到第三个文件?谢谢!
本帖最后由 u014773840 于 2015-01-14 13:36:34 编辑
例如:
file1内容如下:
aaa
bbb
ccc
ddd
file2内容如下:
aaa
ddd
eee
ggg
hhh
对file1与file2进行匹配后,筛选出了两个文件中相同的代码(aaa与ddd),然后写入file3,。
匹配后file3内容如下:
aaa
ddd
------解决思路----------------------
先来个grep命令
grep -xFf file1 file2 > file3

------解决思路----------------------
引用:
Quote: 引用:

先来个grep命令
grep -xFf file1 file2 > file3

谢谢您的指点!我用system加您的方法成功地实现了一部分功能。
但是我刚刚查了下关于grep的用法,没有关于-xFf 的参数介绍,还请您给我介绍下这几个参数的含义,谢谢。
还有就是,按照您的方法我会匹配到很多任意包含其内容的无关项,比如:
file1内容如下:
aaa
file2内容如下:
aaa
aaad
gggaaa
haaah
对file1与file2进行匹配后写入file3,。
file3内容如下:
aaa
aaa
aaa
aaa
而我需要得到的file3内容其实应该为:
aaa





 
diff -u file1  file2  
------解决思路----------------------
 egrep  "^ .*
------解决思路----------------------
^-[^-]" 




引用:
Quote: 引用:

先来个grep命令
grep -xFf file1 file2 > file3

谢谢您的指点!我用system加您的方法成功地实现了一部分功能。
但是我刚刚查了下关于grep的用法,没有关于-xFf 的参数介绍,还请您给我介绍下这几个参数的含义,谢谢。
还有就是,按照您的方法我会匹配到很多任意包含其内容的无关项,比如:
file1内容如下:
aaa
file2内容如下:
aaa
aaad
gggaaa
haaah
对file1与file2进行匹配后写入file3,。
file3内容如下:
aaa
aaa
aaa
aaa
而我需要得到的file3内容其实应该为:
aaa


有-x选项,不应该出现你说的这种问题的,你将file1 和file2的位置调换放置一下试试,或者用-f选项指定file2文件运行一下