![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 01:42 |
共 47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]求助,从文本中提取符合条件的数据 |
| 可打印版本 874 / 5 |
| 第1楼 cqnc4444 | 发表于 2008-10-11 13:04 |
| 新手上路 发帖 9 积分 14 | |
|
[已结]求助,从文本中提取符合条件的数据 有一大型文本文件a.txt内容如下,100多万行(条)记录,文件大小100多Mb
newStreetAddress: wyad newCity: noth newState: xius newZIP: 没奇巧 newCountry: 不奔要的 newNumber: sgsds StreetAddress: fjhgdfg City: ghg gdhd State: gdhdhd Zip: ghdhdhd ===中间含有众多不需要的参数=== newStreetAddress: dhdfhd newCity: dhdhd newState: jhye newZIP: thyete newCountry: jfjfg newNumber: jkhgff StreetAddress: gjkghkg City: gkggg State: gjkggg Zip: 25448 ===中间含有众多不需要的参数=== newStreetAddress: erqrr newCity: ggdhdhd newState: djhye newZIP: gthyete newCountry: ghjfjfg newNumber: ghdjkhgff StreetAddress: dghgjkghkg City: ghdgkggg State: ghdgjkggg Zip: ehdfhd 现在要提取出每一行中newStreetAddress、newState、newNumber、Zip后面的信息,能否实现如下输出效果? 请高手指教: wyad xius sgsds ghdhdhd dhdfhd jhye jkhgff 25448 erqrr djhye ghdjkhgff ehdfhd 说明:newStreetAddress、newState、newNumber、Zip这些行的排列位置不规则 [ Last edited by HAT on 2008-10-13 at 11:56 ] |
|
| 第2楼 tireless | 发表于 2008-10-11 16:56 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
(参考了下 4 楼的代码,修改了下。) [ Last edited by tireless on 2008-10-11 at 21:40 ] |
|
| 第3楼 terrytong | 发表于 2008-10-11 18:26 |
| 中级用户 发帖 115 积分 240 | |
|
楼主问题好像没有说清楚啊。
如果有100多万行(条)记录,你一行就能显示newStreetAddress后面的值? 确定newStreetAddress的后面只有一个空格? 建议分四个文本文件分别放这些数据。 @echo off & setlocal EnableDelayedExpansion for /f "tokens=1,*" %%a in ('findstr /I newStreetAddress a.txt') do @echo %%b>>newStreetAddress.txt for /f "tokens=1,*" %%a in ('findstr /I newState a.txt') do @echo %%b>>newState.txt for /f "tokens=1,*" %%a in ('findstr /I newNumber a.txt') do @echo %%b>>newNumber.txt for /f "tokens=1,*" %%a in ('findstr /I Zip a.txt') do @echo %%b>>Zip.txt |
|
| 第4楼 pusofalse | 发表于 2008-10-11 19:09 |
| 银牌会员 发帖 646 积分 1,604 | |
| 第5楼 cqnc4444 | 发表于 2008-10-12 19:01 |
| 新手上路 发帖 9 积分 14 | |
|
谢谢三位兄弟 昨天没条件上网 测试一下代码
|
|
| 第6楼 cqnc4444 | 发表于 2008-10-12 20:55 |
| 新手上路 发帖 9 积分 14 | |
|
代码运行一个多小时后,结果出来了,4楼兄弟的代码运行效率最高,能在4个参数完整时正确取数;2楼兄弟的代码因是逐个参数取数据,取数完整性要好一些,运行时间上要多一些;3楼兄弟的代码也是逐个参数取数据,并生成不同的文件,可以手工生成合并数据。
我以前是用VFP编写简单程序取数,但原代码和执行文件都找不到了。 再次感谢234楼的兄弟们的热情支持,你们帮我解决了大问题。祝你们在中国DOS联盟和互联网世界玩得自在和愉快! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |