标题: [文本处理] 如何用BAT批处理文件对比剔除2个TXT文件带有特定重复行内容的行? [打印本页]
作者: beiwe 时间: 2020-7-5 15:38 标题: 如何用BAT批处理文件对比剔除2个TXT文件带有特定重复行内容的行?
现在有A.txt和B.txt ,这2个TXT文件,
A.txt为主文件,(比如大小为1M,内有1万行IP地址信息,不带端口号),文本内容每行例如 110.39.175.2
B.txt为需要进行筛选的文本(内有3000行新的IP地址信息,带有端口号), 文本内容每行例如 110.39.175.2:5566
现在需要一个BAT文件,比对A,B 这2个txt文件,对B文件进行筛选,去掉所有和A有重复的行,输出C.txt
注意:A,B 内容每行都是IP地址,B不同的是带有端口号,在筛选的时候需要忽略B文件的 : 和 端口号 后 在生成 C文本
范例
====文本A内容(IP地址),作为参考母版====比如有12行=======
110.39.175.2
113.53.53.138
155.138.133.21
103.89.24.4
176.110.154.59
136.244.101.170
103.28.121.58
106.54.219.223
141.164.58.56
150.138.106.80
155.138.131.165
139.99.91.22
====文本B内容(IP地址+端口,: 是IP和端口的分割符), 作为需要筛选的对象=====有5行,忽略:和端口号后,其中3行和A有重复=======
110.39.175.2:5566
113.53.53.138:8080
155.138.133.21:80
113.53.53.138:1080
152.138.183.25:8888
====输出文本C,在B剔除和文本A字段重复后的结果=============
113.53.53.138:1080
152.138.183.25:8888
作者: went 时间: 2020-7-5 18:46
照你这例子应该只有一行不重复
152.138.183.25:8888- findstr /v /G:A.txt B.txt
复制代码
作者: beiwe 时间: 2020-7-5 20:27
本帖最后由 beiwe 于 2020-7-5 20:28 编辑
回复 2# went
谢谢大神回答
但是我刚刚试了一下你的批处理,有对比的过程,不过速度非常慢,最后也没有生成剔除后的结果后的 C.txt文件
还请大神们帮帮忙
作者: went 时间: 2020-7-5 20:43
回复 3# beiwe
加个重定向- @echo off
- findstr /v /G:A.txt B.txt >C.txt
- pause&exit
复制代码
作者: beiwe 时间: 2020-7-5 21:40
回复 4# went
大神,按新的代码运行了后反而没有任何反应了呢
作者: went 时间: 2020-7-6 11:06
回复 5# beiwe
文件太大了,要等它运行完
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |