标题: [已结]求段文本内容过滤代码
[打印本页]
作者: ka56
时间: 2008-11-1 14:41
标题: [已结]求段文本内容过滤代码
假设:
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 ]
作者: lxmxn
时间: 2008-11-1 14:48
findstr /vbg:a.txt b.txt > c.txt
作者: ka56
时间: 2008-11-1 14:55
Quote: |
Originally posted by lxmxn at 2008-11-1 14:48:
findstr /vbg:a.txt b.txt > c.txt |
|
L版是偶最佩服的一位大虾,品行一流!
鞠躬致谢!!!

作者: ka56
时间: 2008-11-1 15:24
对了,想起一个问题:
假设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 ]
作者: lxmxn
时间: 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
作者: ka56
时间: 2008-11-1 15:55
Quote: |
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后面的意思,但测试成功,版主辛苦了!!
作者: HAT
时间: 2008-11-1 16:28
标题: Re 6楼
多潜水,多看教程,少提问,就懂了。