问下有没有比较好的txt文本分割软件?需要按行分割的。

2012-12-18 10:15:28 +08:00
 nonozone
rt windows平台
3646 次点击
所在节点    问与答
15 条回复
isy
2012-12-18 10:27:56 +08:00
之前也找过,没找到,后来自己写程序解决了,其实很简单的
nonozone
2012-12-18 10:28:37 +08:00
@isy 文科生好无力...能解决一个G的文本么?
tarsier
2012-12-18 10:33:21 +08:00
isy
2012-12-18 10:33:24 +08:00
@nonozone 之前是分割 600多M 的文件,笔记本 2G 内存无压力
sinxccc
2012-12-18 10:42:21 +08:00
试试看 sed?支持无限大文件,基于流处理,内存无压力…

文科生不要紧,只要把 sed 命令存下来,下次需要的时候复制进去跑一次就行。
thedevil7
2012-12-18 11:25:07 +08:00
自己花了点时间帮你写的. 需要 Python3.
(写得很粗糙, 各位大神轻拍.)

http://gist.github.com/4324733

如果不会用, 下午有空帮你写个界面.
nonozone
2012-12-18 12:34:36 +08:00
@thedevil7 额,好感谢
aa88kk
2012-12-18 12:37:53 +08:00
不是有split命令嘛
nonozone
2012-12-18 12:56:55 +08:00
@aa88kk windows有?
qsun
2012-12-18 13:22:52 +08:00
hmmm
安装cygwin接着split -l
yeshang
2012-12-18 13:27:38 +08:00
批处理:
把下面文本复制到记事本,保存为 [按行分割.bat]
把需要分割的文本,比如命名为a.txt 和 [按行分割.bat] 放在同一个文件下。双击 [按行分割.bat] ,即可。


@echo off&setlocal enabledelayedexpansion
set m=1
for /f "delims=" %%i in (a.txt) do (
set /a n+=1
if !n! leq 1000 echo %%i>>sitepage!m!.html
if !n! equ 1000 set n=0&set /a m+=1
)
echo over
pause>nul


解释,上面代码里a.txt可以随便改名,需要英语字符。
代码里的两个1000,代表分割成1000行一个文件。可以改,同时改
oumu
2012-12-18 13:50:46 +08:00
nonozone
2012-12-18 14:43:59 +08:00
@yeshang 提示内存不足...汗
yeshang
2012-12-18 17:21:00 +08:00
@nonozone 不好意思,您的文件太大。
manoon
2012-12-18 23:27:26 +08:00
@thedevil7 好人一生平安。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/55195

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX