楼 主
如何分离汉字行和非汉字行
发表于 2007-05-10 19:43 · 中国 湖北 武汉 武昌区 电信
初级用户
★★
积分 135 发帖 53 注册 2007-04-28 23:05 UID 86817 性别 男
状态 离线
假如有下面一个文本1.txt(我随便写的),怎么把其中指定的几行写入另外个文本,希望高手,各位兄弟姐妹帮忙.
1 adsfdasfdfdsfds
2 dsafdsafdasfdsafdsfds
3 我爱北京天安门
4 dsfdsfdsf dfdsfdsf sdffdsfsd
5 fdsfadsfdsfdsafdsf
6 我爱毛主席
7 dsafdsafs
8 爹亲娘亲不如毛主席亲
9 dsafadsfsdafdsafsda
把其中的3,6,8行写入另外一个文本1new.txt啊,怎么弄啊
还有就是谁能帮我写个脚本或批处理。把上面的一个文本中所有
以汉字开头的一行和它下面的一行写入另外一个文本.我不知道脚本是否有根据
ASCII码或者其它什么码识别汉字啊!
怎么弄啊,我要把一个MP3里的文本做成同步lyrics歌词,英语歌词太长了
各位各位,帮帮我啊
[ Last edited by bjsh on 2007-7-31 at 02:44 PM ]
第 2 楼
发表于 2007-05-10 19:45 · 中国 湖北 武汉 武昌区 电信
初级用户
★★
积分 135 发帖 53 注册 2007-04-28 23:05 UID 86817 性别 男
状态 离线
第 3 楼
发表于 2007-05-10 21:24 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 UID 59080
状态 离线
第 4 楼
发表于 2007-05-11 09:18 · 中国 上海 浦东新区 电信
中级用户
★★
积分 302 发帖 138 注册 2007-03-29 02:33 UID 83224 性别 男
状态 离线
for /f "tokens=1* delims= " %%i in (1.txt) do (if "%%i"=="3" echo %%j>1new.txt)
for /f "tokens=1* delims= " %%i in (1.txt) do (if "%%i"=="6" echo %%j>>1new.txt)
for /f "tokens=1* delims= " %%i in (1.txt) do (if "%%i"=="8" echo %%j>>1new.txt)
[
Last edited by lililulula on 2007-5-11 at 09:21 AM ]
本帖最近评分记录
(共 1 条)
点击查看详情
评分人 分数 时间
abczxc
+1
2007-05-11 11:22
第 5 楼
发表于 2007-05-11 11:11 · 中国 湖北 武汉 武昌区 电信
初级用户
★★
积分 135 发帖 53 注册 2007-04-28 23:05 UID 86817 性别 男
状态 离线
1.txt 文件内容前面本来就有行号的吗?
我加上的,反正已经有了.lxmxn版主高手,你能再给我指点指点
吗,再救救我吗........
[
Last edited by abczxc on 2007-5-11 at 11:22 AM ]
第 6 楼
发表于 2007-05-11 11:20 · 中国 湖北 武汉 武昌区 电信
初级用户
★★
积分 135 发帖 53 注册 2007-04-28 23:05 UID 86817 性别 男
状态 离线
3 楼的同志啊,你写的批处理怎么运行后,就最后第8行啊,是什么原因啊
第 7 楼
发表于 2007-05-11 11:29 · 中国 上海 浦东新区 电信
中级用户
★★
积分 302 发帖 138 注册 2007-03-29 02:33 UID 83224 性别 男
状态 离线
回楼上 你再看看? 我经过测试没问题,3,6,8行内容导出到1new.txt
第 8 楼
发表于 2007-05-11 12:05 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 UID 79003 性别 男
状态 离线
@echo off&setlocal EnableDelayedExpansion
for %%i in (3 6 8) do Set /a line=%%i-1&&Call :OutLine !line!
pause>nul
goto :EOF
:OutLine
for /f "skip=%1 tokens=1* delims=" %%j in (1.txt) do echo %%j &&goto OutFor
:OutFor
[ Last edited by slore on 2007-5-11 at 12:06 PM ]
第 9 楼
发表于 2007-05-11 12:23 · 中国 北京 联通
中级用户
★★
替身
积分 269 发帖 130 注册 2007-03-23 21:41 UID 82683 性别 女
状态 离线
for /f "delims=: tokens=1*" %%a in ('findstr /n .* 1.txt^|findstr /r "^3: ^6: ^8:"') do echo %%b >>1new.txt
[
Last edited by ansipeter on 2007-5-11 at 12:25 PM ]
第 10 楼
发表于 2007-05-11 17:31 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 UID 59080
状态 离线
Re abczxc:
如果不用去掉行号,可以这样:
findstr "^3 ^6 ^8" 1.txt>nfile.txt
要去掉行号的话,可以参考4、8、9楼的代码。
第 11 楼
有更高级.更能让人懒惰的脚本吗
发表于 2007-05-12 13:17 · 中国 湖北 武汉 武昌区 电信
初级用户
★★
积分 135 发帖 53 注册 2007-04-28 23:05 UID 86817 性别 男
状态 离线
还有就是谁能帮我再写个脚本或批处理。把上面的一个文本中所有
以汉字开头的一行和跟随它下面的一行写入另外一个文本.我不知道脚本是否有根据ASCII码或者其它什么码识别汉字啊!
怎么弄啊,我要把一个MP3里的文本做成同步lyrics歌词,英语歌词太长了
各位各位,帮帮忙啊
谢谢大家的帮助,有没有有象上面说的更高级,更懒的脚本啊(怎么区分汉字和英语字母)
[ Last edited by abczxc on 2007-5-12 at 01:20 PM ]
第 12 楼
发表于 2007-05-12 13:23 · 中国 新疆 乌鲁木齐 电信
高级用户
★★★
Autowalk
积分 845 发帖 375 注册 2007-03-03 01:58 UID 80606 性别 男
状态 离线
请按任意键继续...
你好,脚本专家!
<a target=blank href=tencent://message/?uin=29654761&Site=www.111.com&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:29654761:5 alt="点击这里给我发消息"></a>
第 13 楼
发表于 2007-05-12 15:38 · 中国 广东 广州 白云区 电信
高级用户
★★
积分 846 发帖 247 注册 2006-10-27 12:03 UID 68504 性别 男 来自 湖南==》广东
状态 离线
如果是简单的汉字的话,本人认为可以判断 该字符 是否是大于 z 来确定是否是汉字.
第 14 楼
Use sed
发表于 2007-05-12 17:00 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 UID 59080
状态 离线
sed -n "/^/{N;p}" urfiles>dfile
有什么bug请吱一声。
第 15 楼
发表于 2007-05-12 19:53 · 中国 湖北 武汉 武昌区 电信
初级用户
★★
积分 135 发帖 53 注册 2007-04-28 23:05 UID 86817 性别 男
状态 离线
sed -n "/^[\x80-\xff][\x00-\xff]/{N;p}" urfiles>dfile
sed 好像是linux下的处理文本流的东东吧
我不会安装,麻烦lxmxn大哥给个for windows 的sed我,
好吗.
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正