楼 主
[求助]关于提取文本的特定内容
发表于 2008-04-16 18:03 · 中国 江苏 南京 建邺区 电信
初级用户
★
积分 60 发帖 29 注册 2007-04-28 22:37 19年会员 UID 86809 性别 男
状态 离线
有一个文本a.txt内有字符串,随机每行一个排列,如:
567031853----02587410
346071854----04723060
978081855----09665771
............................
763301856----05615379
673501857----59152301
563701858----76464193
456501859----55819080
求助如下:新建个文本b.txt,把我随机需要的字符串保存在b.txt,如:
563701858
978081855
763301856
先求个批处理,对比2个文本,按照b.txt的内容在a.txt中提取出来保存为c.txt,并把a.txt中所提取的内容删除并保存.
谢谢
第 2 楼
这不是猜谜语:
发表于 2008-04-16 18:17 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
请先把你的问题讲清楚再求助,随机需要是什么意思,同是请把b.txt贴出来
批处理之家新域名:www.bathome.net
第 3 楼
发表于 2008-04-16 18:20 · 中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268 发帖 879 注册 2006-12-19 16:23 19年会员 UID 73968 性别 男
状态 离线
未测试。。
建议:先备份再测试。。。
:
@echo off
findstr /ig:b.txt a.txt>c.txt
findstr /ivg:b.txt a.txt>d.txt
del/q a.txt
ren d.txt a.txt
致精致简!
第 4 楼
发表于 2008-04-16 18:42 · 中国 江苏 南京 电信
初级用户
★
积分 60 发帖 29 注册 2007-04-28 22:37 19年会员 UID 86809 性别 男
状态 离线
Originally posted by zw19750516 at 2008-4-16 06:17 PM:
请先把你的问题讲清楚再求助,随机需要是什么意思,同是请把b.txt贴出来
不好意思,看来我表达有问题,随机需要是指不是按排序来的,比如我现在想提取a.txt中的
346071854----04723060
456501859----55819080
673501857----59152301
我想有个批处理,只要我把上面想提取的保存在b.txt中,比如
346071854
456501859
673501857
运行批处理,a.txt和b.txt对比,把符合b.txt中的字符串按每行提取到c.txt中,如
346071854----04723060
456501859----55819080
673501857----59152301
然后再把已提取出来的字符串从a.txt中删除
表达能力有限,不知道各位高手能不能看懂
第 5 楼
发表于 2008-04-16 18:49 · 中国 江苏 南京 电信
初级用户
★
积分 60 发帖 29 注册 2007-04-28 22:37 19年会员 UID 86809 性别 男
状态 离线
Originally posted by 26933062 at 2008-4-16 06:20 PM:
未测试。。
建议:先备份再测试。。。
:
@echo off
findstr /ig:b.txt a.txt>c.txt
findstr /ivg:b.txt a.txt>d.txt
del/q a.txt
ren d.txt a.txt
谢谢,测试可以
第 6 楼
发表于 2008-04-16 18:52 · 中国 江苏 南京 电信
初级用户
★
积分 60 发帖 29 注册 2007-04-28 22:37 19年会员 UID 86809 性别 男
状态 离线
Originally posted by 26933062 at 2008-4-16 06:20 PM:
未测试。。
建议:先备份再测试。。。
:
@echo off
findstr /ig:b.txt a.txt>c.txt 把所需的提取到c
findstr /ivg:b.txt a.txt>d.txt 剩下的提取到d
del/q a.txt 删除a
ren d.txt a.txt 重命名d为a
是不是这样啊?
第 7 楼
理解是对的:
发表于 2008-04-16 19:52 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
呵呵,你表达不行,理解还可以,同时说明下:findstr /v 是指只打印不匹配的行,而findstr /i是指不区分大小写(findstr默认是区分大小写的),findstr /g:是从文件获取搜索的字符串。
批处理之家新域名:www.bathome.net
第 8 楼
发表于 2008-04-16 20:21 · 中国 江苏 南京 电信
初级用户
★
积分 60 发帖 29 注册 2007-04-28 22:37 19年会员 UID 86809 性别 男
状态 离线
Originally posted by zw19750516 at 2008-4-16 07:52 PM:
呵呵,你表达不行,理解还可以,同时说明下:findstr /v 是指只打印不匹配的行,而findstr /i是指不区分大小写(findstr默认是区分大小写的),findstr /g:是从文件获取搜索的字符串。
呵呵,没办法,不怎么懂,不过大概意思还明白点
。
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正