[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 用如何用BAT批处理文件对比筛除不同TXT文件带有固定符号重复内容的行?

现在有A.txt和B.txt ,这2个TXT文件

A.txt为主文件,(比如内有1万行文本),文本内容每行例如 193abc123
B.txt为需要进行筛选的文本(比如内有3000行文本), 文本内容格式每行例如 193abc123:10ab

A和B文本最大的区别就是格式 , B文本每行都带有 : 以及和后面的字符.
但是可以看到在 : 号之前的文本B和A是有重复的,所以在对比筛除的时候需要忽略掉 : 以及 : 号后面的字符来进行比对筛除。
最后生成一个 C.txt 文件作为筛除重复后的结果

现在已经有一个简单筛选批处理命令 findstr /v /G:A.txt B.txt >C.txt

但是运行大文件效率非常慢,一般需要运行的筛选文件都是几十万行,所以希望能得到大神的协助提供一个高效的执行批处理代码。
感激不尽



文本A.txt内容,作为参考母版 ,比如有10行
193abc123
7892aa193
ae9482991
daa92881a
f9893jagge
a93jageccs
9983aggi3a
093hjga398
aienga9222
9ao9comae


文本B.txt内容,格式和A相比就是多了:号以及后面的字符。
请用:号前面的字符作为对比对象,可以看到B文本共6行其中前3行和A文本内容有重复
193abc123:aabb
7892aa193:aa11
ae9482991:aaoo
afiang2901:bbbb
f9jg928877:uuaa
a83hccabc:hoho


最后输出这个C.txt文本,就是B没有和A发生重复的后面3行文本
afiang2901:bbbb
f9jg928877:uuaa
a83hccabc:hoho

[attach]12649[/attach]

回复 1# beiwe


推荐试试 gawk.exe 效率如何:
  1. gawk -F":" "NR==FNR{a[$1]=$1}NR>FNR{if(!($1 in a))print}" "a.txt" "b.txt" > "c.txt"
复制代码
http://bcn.bathome.net/s/tool/index.html?key=gawk
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表