找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 34030|回复: 12

[文本处理] [已解决]BAT怎样处理百万行的超大型文本?

[复制链接]
发表于 2013-4-27 14:46:50 | 显示全部楼层 |阅读模式
这两个图能看得懂吗??   

意思就是说从A中取指定的几行   存到文件C中, 同时把这几行从A中删除。


具体取出那几行需要临时定义,或者可以把位置放到一个文件中

例如:
1
2
6
8
9

注(文件A非常大 至少几十MB  最少是100万行    而且取出的行数也很多。 希望速度能快点)

自己用VB试了下很慢  走头无路才想到批处理的。。   请大侠帮忙

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-4-27 14:52:52 | 显示全部楼层
到底要提出哪几行来?
 楼主| 发表于 2013-4-27 14:54:10 | 显示全部楼层
回复 2# yoyobye


    要取出那几行未必的。    只能自己临时定义。    每次都不一样。  

或者我可以把要取出的行位置写到一个文件中  换行符隔开
发表于 2013-4-27 14:56:23 | 显示全部楼层
外部命令 SED
看你前贴 把两个命令结合下哦

  1. @echo off
  2. set "str=1 5 7 8 10 112 121 333 "
  3. sed -ni "%str: =p;%%str: =d;%w $" a.txt
  4. move a.txt c.txt
  5. ren $ a.txt
  6. PAUSE
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-4-27 15:00:56 | 显示全部楼层
回复 4# terse


    这个一次性能操作多少行呢??      我一般要操作很多行。   至少几万行
发表于 2013-4-27 15:26:35 | 显示全部楼层
原来批处理比VB还快,学习了
发表于 2013-4-27 16:06:23 | 显示全部楼层
for /f "tokens=1,* delims=:" %%i in ('findstr /n "." 1.txt') do (
    set n=%%i
    set str=%%j
    for /f "delims=" %%a in (t.txt) do (
        if {!n!}=={%%a} echo !str!>>2.txt
    )
)
没有测试,不懂大文件的效率问题,求教
 楼主| 发表于 2013-4-27 16:54:49 | 显示全部楼层
回复 6# Demon


    VB想尽了办法了。。   几百万的数据  非常慢      读写速度不够快。   批处理先试试把
发表于 2013-4-27 17:34:30 | 显示全部楼层
回复 8# claudia


    4楼的代码效率如何?
发表于 2013-4-27 17:35:08 | 显示全部楼层
这两个图能看得懂吗??   
意思就是说从A中取指定的几行   存到文件C中, 同时把这几行从A中删除。

请把图里面的数据用文本的形式直接贴出来,以便测试代码。
发表于 2013-4-27 17:39:49 | 显示全部楼层
自己用VB试了下很慢  走头无路才想到批处理的。。   请大侠帮忙

大部分情况下,VBS的效率比BAT高。
可能是你的代码写的不好。
可以去VBS版块把你的代码贴出来,让大神给你优化优化。
发表于 2013-5-4 02:16:20 | 显示全部楼层
pfile.exe -f:c:\in.txt -d:1-118 -out.txt
-f 目标文件
-d 指定行范围
-o 保存到文件
-参数后需要":"号连接
如:-f:c:\1234567.txt -d:1-500 -o:c:\abcdef
执行之前会备份目标文件为?????.bak


http://url.cn/HxmqND
发表于 2013-5-5 20:33:06 | 显示全部楼层
超大量数据还是用数据库方便快捷
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 00:27 , Processed in 0.020424 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表