查看: 2180|回复: 14
打印 上一主题 下一主题

[讨论] txt编辑器处理100M以上,有新看法吗

[复制链接]

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
跳转到指定楼层
1
发表于 2014-9-12 11:10:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wubis 于 2014-9-12 11:24 编辑

论坛里很多人用ultraedit(以下简称ue)和emeditor(em),但是我用过后也不觉得...
首先,之前处理过国语辞典59m txt(被我用notepad++(npp)精简到这样),可是这个过程也不是很快(1g amd athlon x2 双核xp),尤其是转十六进制时,我还怀疑烧内存了。

emeditor替换速度还行,可是它占用的是文本的不止2倍内存,可能还多一点(我选择用内存作为缓冲区了)。有一次我打开一份100m以下的文件,被吃了500m有多内存。小文件就没用它处理过了。

editplus处理大文件没用过,不过其正则和行标签真的很实用(我还不会)

npp才是我要吐嘈的,一份用npp处理过的txt不能build,然后全选复制粘贴到另外一个新npp文档后就可以build了,而且新文件比旧文件大了3m,这种情况出现多次了,npp都是较新版的,第一次出现这种情况让我十分头痛,格式都是dos/windows utf8 无bom的,后来积累了这种经验,遇到问题直接全选复制。如果有高手知道这是怎么一回事,请做科普

npp也是用scintilla的,我那个有问题的用的是3.3还是3.4的dll。以前的scite替换速度也一般,稍微比emeditor慢一点,可是替换超过十万次的时候,emeditor说放弃撤销记录可以快一点,实际上快1倍左右。scite/npp就明显快了,最近替换一个</font>311万次,npp大概用了30-40秒,也是把txt载入到内存的。而且scite/npp载入的内存说实话真的比em小,大概txt的1.5倍到2.5倍,当然随着编辑进行会增加到挺大的。

最近的scite更新到3.5,那速度真的快多了,比3.5以前的真的不是一个档次,约是npp的1.3-1.5倍,(在一份oald8上处理<span 类标签的替换),真的建议对npp的特色功能没依赖的用以下最新版的scite

还有npp的空白行删除功能可能会把所有换行符都删掉,我再也没试过,也不知道具体bug.
科普:scite和npp都用同样的scintilla.dll,npp用的要旧点,scite就是scintilla的作者的演示作品

本帖不为口水,只为交流经验,不要激动,我对上述几个也就这些了解,要想比性能,按一般流程做

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
2
 楼主| 发表于 2014-9-12 11:12:28 | 只看该作者
顺便问以下linux系,vi/vim处理大文件怎样,

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
3
 楼主| 发表于 2014-9-12 11:18:46 | 只看该作者
本帖最后由 wubis 于 2014-9-12 11:35 编辑

everedit有专业用户科普以下吗。
还有对textforever的切割txt10m上限表示无语,这处理oald8也太小了吧,命令行的工具倒是很多也没多大限制,可是有窗口的就这个吗

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
4
 楼主| 发表于 2014-9-12 11:34:35 | 只看该作者
不过scite/scintilla系(包括geany)的替换字符并循环查找时最后会自动定位到最后一行,npp倒是不会,其他的就没试过了。这也是我为什么还用npp,第一就是上述,接着可以替换另外的标签(在最后一行看不到的),第二就是处理一些gbk写的旧mdx源文件转utf8,scite转gb系码不方便。

如果有人用linux/kde 的话,kate/kwrite系也能够打开100m的文件,(再大的就没敢试了,先用scite替换一些没用的标签减小体积),而且kate系对编码支持较好(还是不如npp),但是k系替换速度十分勉强

该用户从未签到

12

主题

407

回帖

1万

积分

翰林院编修

Rank: 11Rank: 11Rank: 11Rank: 11

积分
11211

翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

5
发表于 2014-9-12 11:34:58 | 只看该作者
ultraedit 和 emeditor 各有优缺点,而且大部分都是互补的
反正我是交替用,再不能就用万能的编程

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
6
 楼主| 发表于 2014-9-12 11:35:57 | 只看该作者
meigen 发表于 2014-9-12 11:34
ultraedit 和 emeditor 各有优缺点,而且大部分都是互补的
反正我是交替用,再不能就用万能的编程

你说的万能的编程是指自己写脚本处理吗

该用户从未签到

12

主题

407

回帖

1万

积分

翰林院编修

Rank: 11Rank: 11Rank: 11Rank: 11

积分
11211

翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

7
发表于 2014-9-12 11:38:39 | 只看该作者
wubis 发表于 2014-9-12 11:35
你说的万能的编程是指自己写脚本处理吗

脚本或者语言都行,能达到目的(而且是快速地)即可

该用户从未签到

2121

主题

2961

回帖

6万

积分

翰林院修撰

不忘初心。送分大人,灌水砖家。擅长抛砖引玉,挖坑不填。

Rank: 12Rank: 12Rank: 12

积分
61056

翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

8
发表于 2014-9-12 11:39:04 | 只看该作者


升级硬件,一劳永逸,节省大量时间。

我这儿开 2G txt,无压力。

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
9
 楼主| 发表于 2014-9-12 12:31:27 | 只看该作者
itarcy 发表于 2014-9-12 12:09
ultraedit我脑子笨,用不惯~
everedit专业版在用,做得很好(只是您得花软民币),适合我这样的懒人~

akelpad 效率高在哪里,替换速度快吗,处理100m+有延迟吗

点评

快  发表于 2014-9-12 12:48

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
10
 楼主| 发表于 2014-9-12 12:34:26 | 只看该作者
嗯,不得不说还有notepad2,跟notepad++很类似,性能方面和便捷性因为少用所以不清楚

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
11
 楼主| 发表于 2014-9-12 12:43:59 | 只看该作者
wubis 发表于 2014-9-12 11:12
顺便问以下linux系,vi/vim处理大文件怎样,

自己答:enwiki上说都支持>4gb, 一般的scite/npp不行,emacs 2g, notepad2可能也有限制。看小vi/vim了,

该用户从未签到

258

主题

1651

回帖

1万

积分

状元

Rank: 9Rank: 9Rank: 9

积分
19159

灌水大神章小蜜蜂章笑傲江湖章

12
发表于 2014-9-12 13:40:09 | 只看该作者
Oeasy 发表于 2014-9-12 11:39
升级硬件,一劳永逸,节省大量时间。

我这儿开 2G txt,无压力。

啥配置呀?这么强!
  • TA的每日心情
    奋斗
    昨天 08:43
  • 签到天数: 766 天

    [LV.10]以坛为家III

    19

    主题

    1163

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10958
    13
    发表于 2014-10-8 15:35:12 | 只看该作者
    npp是指notepad++吗?

    该用户从未签到

    3

    主题

    204

    回帖

    2098

    积分

    解元

    Rank: 5Rank: 5

    积分
    2098

    灌水大神章小蜜蜂章笑傲江湖章

    14
    发表于 2014-10-8 18:39:31 | 只看该作者
    本帖最后由 whitegerry 于 2014-10-8 18:43 编辑

    笔记本处理500M左右的文本,2600多条正则,有些正则需要多次执行,只有用脚本之类的了。
    em的正则查找我碰到过bug,匹配到的结果比实际的替换数量要多。