中国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
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: