中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 03:54
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » sed 命令能否分割TXT文档?
可打印版本  1,500 / 9
第1楼 youaoyi 发表于 2008-07-11 17:47
初级用户 发帖 67 积分 154
sed 命令能否分割TXT文档?
请教各位大侠,在txt文本行数未知的情况下,
sed能否按照每6万条数据来分割TXT文档呢?
第2楼 lxmxn 发表于 2008-07-13 00:44
版主 发帖 4,938 积分 11,386
这个你应该用split来分隔更方便。
第3楼 youaoyi 发表于 2008-07-13 01:42
初级用户 发帖 67 积分 154
split 只能按照容量分割啊?
这样数据会被断行的
而且也达不到要取60000行的要求.
第4楼 lxmxn 发表于 2008-07-13 02:18
版主 发帖 4,938 积分 11,386
你怎么就知道不可以呢?
split --help
第5楼 youaoyi 发表于 2008-07-14 00:18
初级用户 发帖 67 积分 154
斑竹,几天前就查过了。只有一个按 容量划分的像 -100k 这样,还有一个按照软盘容量划分的 -a 参数,没有别的了啊?
第6楼 youaoyi 发表于 2008-07-14 01:50
初级用户 发帖 67 积分 154
难道是自己用的split 0.92 版本太低?不支持 split -100 a.txt这种格式?

换用下面的代码了,可惜速度不是很快...45秒仅能处理1万条。

@echo off
for /f %%i in ('sed -n "$=" a.txt') do set number=%%i
:loop
set /a num+=1
set /a n=(%num%-1)*100+1
set /a m=100*%num%
sed "%n%,%m%w a_%num%.txt" a.txt
if %m% LSS %number% goto :loop

[ Last edited by youaoyi on 2008-7-14 at 01:53 AM ]
第7楼 lxmxn 发表于 2008-07-14 14:11
版主 发帖 4,938 积分 11,386
D:\lxmxn\work\Other>(echo hello,world&echo.this is the second line of the output&echo.cn-dos.net&echo\OK,let's go&echo/Thanks a lot) | split -l 2

D:\lxmxn\work\Other>dir /b x*
xaa
xab
xac

D:\lxmxn\work\Other>type x*

xaa


hello,world
this is the second line of the output

xab


cn-dos.net
OK,let's go

xac


Thanks a lot

D:\lxmxn\work\Other>split --version
split (textutils) 2.1
Written by Torbjorn Granlund and Richard M. Stallman.

Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

D:\lxmxn\work\Other>
我用的win32版本,并非DOS版本,应该是又DOS版本的。

win32 下载地址:http://www.vkill.net/tools/split_.rar
第8楼 qzwqzw 发表于 2008-07-14 17:25
银牌会员 发帖 636 积分 2,343
是有个叫 csplit.exe 的 GNU Unix Util
可以这里下载到它的Win32移植版本
http://unxutils.sourceforge.net/

http://unxutils.sourceforge.net/UnxUtils.zip
http://unxutils.sourceforge.net/UnxUpdates.zip

里面也包含了sed/gawk/agrep/egrep/fgrep等常用与非常用的Unix命令移植版
第9楼 ngd 发表于 2008-07-15 20:38
中级用户 发帖 108 积分 312
试一试 awk

win32版 gawk下载地址:http://www.vkill.net/tools/gawk_3.1.5.rar

[ Last edited by ngd on 2008-7-16 at 04:42 PM ]
第10楼 ngd 发表于 2008-07-15 22:48
中级用户 发帖 108 积分 312
不借助外部工具

忽略空行

保留空行
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023