Board logo

标题: 求助!单词与解释拼接在同一行。 [打印本页]

作者: guixi     时间: 2007-10-24 23:13    标题: 求助!单词与解释拼接在同一行。
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 ]

作者: lxmxn     时间: 2007-10-25 01:57
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 ]

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

作者: lxmxn     时间: 2007-10-25 16:59
RE guixi: 我自己也没什么心得,也是从网上找教程学的,网上很多教程的,你可以google搜索一下。