Board logo

标题: [文本处理] 批处理怎样比较两个文本文件并将一个文件中不重复的内容导出? [打印本页]

作者: sshlovewp    时间: 2011-8-12 11:03     标题: 批处理怎样比较两个文本文件并将一个文件中不重复的内容导出?

请各位高手指点,需要达到的效果如下:

1.txt文件内容:

屋顶花园
屠宰及肉类加工工业
新型肥料
电视节目
有毒植物
中药典彩色图谱
水果、蔬菜、坚果加工工业
神奇的红豆杉
ostrich
西双版纳

2.txt文件内容:

1.jpg
100种中草药彩色图谱.rtf
2.jpg
FD.xls
ostrich.txt
“一帆风顺”
“青牛
《中草药彩色图谱》.exe
电视节目.txt
一亩水面
一分地养
不可小瞧的棍子
东陵遗恨(一).htm
中药典彩色图谱(1995年).pdf
买回12万元
创业.txt
商标分类.txt
趣味数学.doc
趣味数学.txt
石斑鱼图集.doc
报刊文摘.doc
fry.xls

经处理后将1.txt和2.txt中都有的内容都去掉,即去掉重复的内容并输出到3.txt中呢?
因为我是菜鸟,所以还请各位高人不要见笑,在此谢过了!!!
作者: sshlovewp    时间: 2011-8-12 11:06

补充一下,是将1.txt中与2.txt重复内容去掉后导出到3.txt.
作者: CrLf    时间: 2011-8-12 11:14

  1. findstr /lvxg:1.txt 2.txt>3.txt
  2. ::如果结果不对,请把 /l 替换为 /r
复制代码

作者: sshlovewp    时间: 2011-8-12 11:20

不行啊,生成的文件和2.txt一模一样啊./l替换为/r也不行,生成的文件还是和2.txt一样的.
作者: CrLf    时间: 2011-8-12 11:45

本帖最后由 CrLf 于 2011-8-12 11:46 编辑

回复 4# sshlovewp


    可是你顶楼给的两个样本之间本来就是没重复的...刚才忘了是两个文件都要输出,补一个 findstr:
  1. (findstr /lvxg:1.txt 2.txt
  2. findstr /lvxg:2.txt 1.txt)>3.txt
复制代码
如果楼主说的重复只是指部分匹配,那就把 /lvxg 改成 /lvg
作者: sshlovewp    时间: 2011-8-12 13:14

还是不行,我只要1.txt中剔除与2.txt重复的内容,重复只是指部分匹配.谢谢!
作者: Batcher    时间: 2011-8-12 13:58

回复 6# sshlovewp


以顶楼数据为例,你希望得到什么结果?
作者: sshlovewp    时间: 2011-8-12 15:45

我希望得到的结果如下:

3.txt文件内容:

屋顶花园
屠宰及肉类加工工业
新型肥料
有毒植物
水果、蔬菜、坚果加工工业
神奇的红豆杉
西双版纳

说明下,有3项是1.txt和2.txt都有的内容,即:
电视节目
中药典彩色图谱
ostrich

3.txt里面的内容加上这3项内容刚好是1.txt的全部.
作者: sshlovewp    时间: 2011-8-17 16:21

a.txt内容:

11111
22222
33333
44444
77777
55555
99999
66666
88888

b.txt内容:

22222
12345
77777
33366

需要的结果:
1、比较a.txt和b.txt的差异,将a.txt和b.txt重复的部分保存为c.txt
2、将a.txt里面与c.txt重复的内容去掉后保存为d.txt.

完成后c.txt内容:

22222
77777

d.txt内容:

11111
33333
44444
55555
99999
66666
88888

已经做了几天了,始终弄不好,请高手指点。谢谢!
作者: sshlovewp    时间: 2011-8-17 16:29

没有人回应?
作者: sshlovewp    时间: 2011-8-17 16:29

请高手不吝赐教!急急急!!!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2