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

[文本处理] [已解决]批处理怎样对比文本?

[复制链接]
发表于 2014-12-20 17:36:56 | 显示全部楼层 |阅读模式
本帖最后由 小文 于 2015-2-15 19:47 编辑

功能简述:以a文本中的行的内容去匹配b文本的行的内容,把匹配到的行追加为c文本。

功能详述:
1.设a文本里有多行文本,b文本里有更多的多行文本;

2.我们用逐行用a文本里的行的内容去匹配b文本里的内容;

3.如果b文本里有匹配a文本里行的内容,则输出b文本中所在内容的行到c文本中,否则继续用a文本的下一行去匹配b文本的内容。

结果演示:
a文本:
47一行一6行第7一行第*&
第二行b文本栋
384756 一五一一一


b文本:
4y6第47一行一6行第7一行第*&……&*一行第一行638456
第二行b文本栋**牤擤固顶地yrt65547
398467b文本第三行*(&……*&第三行
第丁下盯有婆罗门稼的836450 四第行
有e6y58o567看中一384756 一五一一一


c文本:
4y6第47一行一6行第7一行第*&……&*一行第一行638456
第二行b文本栋**牤擤固顶地yrt65547
有e6y58o567看中一384756 一五一一一

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-12-20 17:48:54 | 显示全部楼层
  1. findstr /l /g:a.txt b.txt > c.txt
复制代码
 楼主| 发表于 2014-12-20 17:52:49 | 显示全部楼层
回复 1# 小文
 楼主| 发表于 2014-12-20 17:54:24 | 显示全部楼层
回复 2# Batcher


    谢谢你的帮助。就这么一小句,还真可以!dos果然是个好东西呀!
 楼主| 发表于 2014-12-22 12:59:50 | 显示全部楼层
回复 2# Batcher


    为什么在这样的文本中没有用呢?对其使用命令:findstr /l /g:a.txt b.txt > c.txt
a.txt:
在计算机内部,
在计算机中,既可

b.txt:
在计算机内部,一切数据均以()形式存储选择B二进制
在计算机中,既可作为输入设备又可作为输出设备的是()选择B磁盘驱动器

c.txt:
(什么输出不了)
发表于 2014-12-22 13:40:18 | 显示全部楼层
回复 5# 小文


findstr是个不太靠谱的命令,如果你有grep的话可以试试:
  1. grep -Ff a.txt b.txt > c.txt
复制代码
 楼主| 发表于 2014-12-22 14:39:24 | 显示全部楼层
回复 6# Batcher


    怎么个“不靠谱”呢,应该有他的道理。单行匹配是可以的,多行像之前的a、b文本也是可以的,就不知道后面的多行为什么就不可以了。那如果没有你后面说的那个命令是不是那个功能就实现不了了?如果前面的命令确实单行可用,那能不能用该命令循环使用在所需的文件?
发表于 2014-12-22 14:51:29 | 显示全部楼层
回复 7# 小文


    微软的命令不是开源的,你看不到道理,只能知道它很多时候不能按照自己希望的那种方式去工作。
发表于 2014-12-22 14:52:38 | 显示全部楼层
那如果没有你后面说的那个命令是不是那个功能就实现不了了?

哪个功能实现不了?我测试了一下没有发现问题
发表于 2014-12-22 14:53:12 | 显示全部楼层
如果前面的命令确实单行可用,那能不能用该命令循环使用在所需的文件?

这跟单行多行没有关系,你不知道 findstr 遇到哪个字符就会出问题。
发表于 2014-12-22 15:52:19 | 显示全部楼层
加个参数试试:
findstr /l /i /g:a.txt b.txt > c.txt

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 17:55 , Processed in 0.020866 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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