中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]求段文本内容过滤代码
作者:
标题: [已结]求段文本内容过滤代码 上一主题 | 下一主题
ka56
中级用户





积分 234
发帖 129
注册 2006-11-28
状态 离线
『楼 主』:  [已结]求段文本内容过滤代码

假设: a.txt的内容如下: 60880911 95881205 20585070 20881121 12820802 41811228 b.txt的内容如下: 60880911----123456 95881205----123456 20585070----123456 20881121----123456 12820802----123456 41811228----123456 50860512----123456 27861009----123456 64800718----123456 46830506----123456 12840614----123456 76831107----123456 21880925----123456 想根据a.txt所提供的号,查找b.txt里不含有相同号的行,即反向过滤,将过滤后的结果写入c.txt,结果如下: 50860512----123456 27861009----123456 64800718----123456 46830506----123456 12840614----123456 76831107----123456 21880925----123456 有劳大虾了!! [ Last edited by HAT on 2008-11-1 at 16:28 ]


2008-11-1 14:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

findstr /vbg:a.txt b.txt > c.txt


2008-11-1 14:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ka56
中级用户





积分 234
发帖 129
注册 2006-11-28
状态 离线
『第 3 楼』:  

Originally posted by lxmxn at 2008-11-1 14:48:
findstr /vbg:a.txt b.txt > c.txt
L版是偶最佩服的一位大虾,品行一流! 鞠躬致谢!!!


2008-11-1 14:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ka56
中级用户





积分 234
发帖 129
注册 2006-11-28
状态 离线
『第 4 楼』:  

对了,想起一个问题: 假设B文本中增加有几个号,是和A文本中的号多几位数,例如下面这几个号,后面只多一个"0",而这些号就可能也被过滤掉了: 608809110----123456 958812050----123456 205850700----123456 208811210----123456 128208020----123456 418112280----123456 怎样严格筛选过滤条件,假设B文本的号后面都有4个横杠..... 再麻烦下~~~ : )) [ Last edited by ka56 on 2008-11-1 at 15:26 ]


2008-11-1 15:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 5 楼』:  

如果这样,就需要构造严格的搜索模式了。
@echo off
for /f "delims=" %%a in (a.txt) do (
    >>temp.a echo/\^<%%a\^>
)

findstr /vg:temp.a b.txt
del temp.a


2008-11-1 15:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ka56
中级用户





积分 234
发帖 129
注册 2006-11-28
状态 离线
『第 6 楼』:  

Originally posted by lxmxn at 2008-11-1 15:41: 如果这样,就需要构造严格的搜索模式了。
@echo off
for /f "delims=" %%a in (a.txt) do (
    >>temp.a echo/\^<%%a\^>
)

findstr /vg:temp.a b.txt
del temp.a
还没明白do后面的意思,但测试成功,版主辛苦了!!


2008-11-1 15:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  Re 6楼

多潜水,多看教程,少提问,就懂了。
批处理的教学 www.cn-dos.net/forum ... 批处理最完整人性化教程 www.cn-dos.net/forum ... 批处理新手FAQ整理 www.cn-dos.net/forum ... 中国DOS联盟批处理室经典帖子合集 www.cn-dos.net/forum ...




2008-11-1 16:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: