标题: [文本处理] [已解决]批处理删除某字符所在的行 [打印本页]
作者: Rasm 时间: 2011-6-25 18:02 标题: [已解决]批处理删除某字符所在的行
afd
1231231231
asdfaf
123
1
23
1
fafa
afaf
fafaf
我要删除 存在 数字"2" 的那行,利用批处理
我自己的批处理代码是这样写的:- @echo off
- for /f "tokens=*" %%a in (input.txt) do @echo %%a|find /v /i "2">>output.txt
- pause
复制代码
可惜速度速度太慢,处理500K的文本,需要将近40分钟
CPU达到80%
不知道有没有人能改善下这代码
作者: tmplinshi 时间: 2011-6-25 18:04
- findstr /v /c:"2" input.txt >output.txt
复制代码
作者: common 时间: 2011-6-25 18:10
本帖最后由 common 于 2011-6-28 13:24 编辑
- @echo off
- for /f "tokens=*" %%a in (input.txt) do (
- if "%%a neq *2*" echo %%a>>output.txt
- pause
复制代码
作者: Rasm 时间: 2011-6-25 18:27
2# tmplinshi
谢谢!
作者: Rasm 时间: 2011-6-25 18:29
3# common
直接粘贴你的代码,不可用
作者: Batcher 时间: 2011-6-25 18:38
复制代码
复制代码
http://bbs.bathome.net/thread-1114-1-1.html
作者: Rasm 时间: 2011-6-25 18:41
6# Batcher
你好,我自己写的代码,效果是达到了
但是处理速度太慢了,500K的文本,我机子要花40分钟
我是cpu T6600,GT240的显卡
作者: Batcher 时间: 2011-6-25 18:43
7# Rasm
2楼和6楼的代码分别需要多长时间?
作者: Rasm 时间: 2011-6-25 19:05
8# Batcher
我的代码太落后了
2楼的1秒
够快
6楼的代码未测试
感谢!问题解决了
等下自己再参考下代码参数
在此感谢楼上几位热心帮助的朋友
作者: Rasm 时间: 2011-6-25 19:07
8# Batcher
在此请教一个问题
如果想删除多个字符,该怎么定义呢
如果我想删除存在/xinwen/,/ditu/,/news/等多个所在行的内容
作者: tmplinshi 时间: 2011-6-25 19:31
- findstr /v /c:"/xinwen/" /c:"/ditu/" /c:"/news/" input.txt >output.txt
复制代码
作者: Batcher 时间: 2011-6-25 19:40
- sed "/xinwen\|ditu\|news/d" a.txt >b.txt
复制代码
作者: Batcher 时间: 2011-6-25 19:42
- findstr /v "xinwen ditu news" a.txt >b.txt
复制代码
作者: fly2sky 时间: 2011-7-1 13:03
5# Rasm
common的代码那个左括号是错误的,还少了一个右括号吧
作者: Rasm 时间: 2016-11-20 13:36
回复 13# Batcher
如果有100个字符要处理,请问该怎么写呢
作者: Rasm 时间: 2017-6-11 11:26
如果有100行的字符要处理,请问该怎么写呢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |