找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24270|回复: 11

[文本处理] [已完成]批处理怎样找出A文件中每行内容在B文件中找不到的?

[复制链接]
发表于 2021-7-31 14:00:48 | 显示全部楼层 |阅读模式
本帖最后由 gcbgczhang 于 2021-7-31 22:44 编辑

各位老师好。
找出a.txt中在b.txt中不存在的行,输出到c.txt
两文件都有10万行以上,用什么方法最快呀,我搞的太慢了。
a.txt内容

211203196802142025
211203196612102081
211203198612202057
410401198411240027
...
b.txt内容
211203198612202057
211281201009062014
410401198411240027
211203196410162019
...
要得到c.txt,内容为
211203196802142025
211203196612102081
发表于 2021-7-31 16:18:39 | 显示全部楼层
回复 1# gcbgczhang


    请把你搞的发出来看一下
发表于 2021-7-31 17:04:16 | 显示全部楼层
遍历一百亿次以上,这个每秒一千多万也要近二十分钟
@echo off
(for /f "delims=" %%a in (a.txt) do findstr "%%a" b.txt>nul||echo %%a)>c.txt
pause
发表于 2021-7-31 17:12:58 | 显示全部楼层
回复 1# gcbgczhang
如果文本像你提供的那样
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%b in (b.txt) do set #%%b=true
  4. (for /f %%a in (a.txt) do if not defined #%%a echo,%%a)>c.txt
  5. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
idwma + 1 这个是真快呀,可以讲讲原理吗,看不懂

查看全部评分

 楼主| 发表于 2021-7-31 17:21:34 | 显示全部楼层
谢谢楼上的老师,不知道灰什么不能一个个回复。我现在有新的问题,就是用导出来的列表到库里匹配全信息输出来,天,太慢了。
@echo off
setlocal enabledelayedexpansion
(for /f %%a in (列表.txt) do (
    findstr /c:"%%a" 全信息.csv
))>nnccc.txt

列表内容就是这些身份证,而全信息其中一列包含身份证
 楼主| 发表于 2021-7-31 17:45:18 | 显示全部楼层
老师,我用的这个,我自己搞的这个,文件小了感觉不出来,文件一大就抓狂。
@echo off
for /f "delims=*" %%i in (a.txt) do  findstr %%i b.txt || echo %%i>>c.txt
 楼主| 发表于 2021-7-31 17:45:35 | 显示全部楼层
回复 3# idwma


    老师,你这个和我搞的一样啊…………。
 楼主| 发表于 2021-7-31 17:55:16 | 显示全部楼层
回复 2# Batcher


    老师,我回复到楼下了,这个花时间弄完了,我用了findstr和for.
发表于 2021-7-31 17:58:36 | 显示全部楼层
回复 7# gcbgczhang


   下次你可以用4楼那个方法,判断变量定义速度是真快
发表于 2021-7-31 18:38:16 | 显示全部楼层
回复 1# gcbgczhang


试试这样速度如何:
  1. findstr /v /l /g:b.txt a.txt > c.txt
复制代码
 楼主| 发表于 2021-7-31 22:43:48 | 显示全部楼层
回复 10# Batcher


    2秒完成…….唉!!郁闷...我感觉也是用这个能比较,但看不明白参数没去实践.
发表于 2021-7-31 23:51:15 | 显示全部楼层
文件比较命令 fc
  1. fc a.txt b.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 22:01 , Processed in 0.034249 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表