中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助!单词与解释拼接在同一行。
作者:
标题: 求助!单词与解释拼接在同一行。 上一主题 | 下一主题
guixi
初级用户





积分 76
发帖 29
注册 2007-10-2
状态 离线
『楼 主』:  求助!单词与解释拼接在同一行。

test.txt
----------------------------------------------
+acquire
\vt.获得, 学到
+acquisition
\n.获得, 获得物
+acre
\n.英亩, 地产, 大片田地
+acrobat
\n.(走钢丝的)杂技演员, 随机应变者, 翻云覆雨者
+across
\adv.横过, 交叉地, 在对面  
\prep.越过, 交叉, 在...的那边, 在...对面那边
+act
\n.幕, 法案, 法令, 动作, 举动, 节目, (戏剧的)幕  
\vi.行动, 产生...的效果, 担当, 表演, 假装, 表现, 见效  
\vt.扮演, 装作
+action
\n.动作, 作用, 战斗, 行动, 举动, 行为, (戏剧或书中)的情节, (某一地区、领域或团体中)最能产生效果、最有趣、最有刺激性的活动  
\vt.对...起诉
+activate
\vt.刺激, 使活动  
\vi.有活力
+active
\adj.积极的, 能起作用的, 现行的, [语法]主动的, 活动的, 活跃的, 活性的  
\n.[语法] 主动语态, 积极分子
+activity
\n.活跃, 活动性, 行动, 行为, [核]放射性
+actor
\n.男演员, 行动者, 参与者
+actress
\n.女演员
+actual
\adj.实际的, 真实的, 现行的, 目前的
+acute
\adj.敏锐的, [医]急性的, 剧烈
+adapt
\vt.使适应, 改编
+add
\vt.增加, 添加, 计算...总和, 补充说, 又说  
\vi.加, 加起来, 增添, 做加法
+addict
\vt.使沉溺, 使上瘾  
\n.入迷的人, 有瘾的人
+addition
\n.加, 加起来, 增加物, 增加, 加法
+additional
\adj.另外的, 附加的, 额外的
+address
\n.地址, 致辞, 演讲, 说话的技巧  
\vt.向...致辞, 演说, 写姓名地址, 从事, 忙于
+adequate
\adj.适当的, 足够的
+adhere
\vi.粘附, 胶着, 坚持  
\v.坚持
+adjacent
\adj.邻近的, 接近的
+adjective
\n.形容词
+adjoin
\v.邻接, 毗连
+adjust
\vt.调整, 调节, 校准, 使适合
+administer
\v.管理, 给予, 执行
+administration
\n.管理, 经营, 行政部门
+admire
\v.赞美, 钦佩, 羡慕
+admission
\n.允许进入, 承认某事之陈述, 供认
+admit
\v.容许, 承认, 接纳
+adolescent
\adj.青春期的, 青春的  
\n.青少年
+adopt
\vt.采用, 收养
+adore
\v.崇拜, 爱慕, (口语)喜爱
+adult
\n.成人, 成年人  
\adj.成人的, 成熟的
+advance
\n.前进, 提升, 预付款  
\v.前进, 提前, 预付  
\adj.前面的, 预先的  
\预付(款项)
+advanced
\adj.高级的, 年老的, 先进的
+advantage
\n.优势, 有利条件, 利益
+advent
\n.(尤指不寻常的人或事)出现, 到来
+adventure
\n.冒险, 冒险的经历  
\v.冒险
--------------------------------------------



上面是英语单词文本,我希望达到的效果是:

单词和单词的解释在同一行。比如下面的样式。


+advent \n.(尤指不寻常的人或事)出现, 到来
+adventure \n.冒险, 冒险的经历 \v.冒险


先谢谢各位兄弟!!!

[ Last edited by guixi on 2007-10-25 at 08:04 AM ]

2007-10-24 23:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

gawk:
gawk "{if($1~/^\\/){printf \" \"$0}else{if(NR>1){printf \"\n\"$0}else{printf $0}}}" test.txt
sed:
sed -n "H;${x;s/\n\\/ \\/gp;}" test.txt
bat:
@echo off & SetLocal EnableDelayedExpansion
for /f "delims=" %%a in (test.txt) do (
    set str=%%a
    if "!str:~0,1!"=="+" (
        if not defined lxmxn (set lxmxn=batcher) else echo.
        set/p=%%a<nul
    )
    if "!str:~0,1!"=="\" set/p= %%a<nul
)
[ Last edited by lxmxn on 2007-10-25 at 02:20 AM ]

2007-10-25 01:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
guixi
初级用户





积分 76
发帖 29
注册 2007-10-2
状态 离线
『第 3 楼』:  

版主真是不简单啊,呵呵!非常谢谢你,昨晚上网上睡着了,没有及时回复,另外,版主可以写一些sed,grep,gawk等工具的学习心得吗!呵呵!

2007-10-25 07:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  

RE guixi:

我自己也没什么心得,也是从网上找教程学的,网上很多教程的,你可以google搜索一下。

2007-10-25 16:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: