【发布时间】:2010-01-03 05:25:18
【问题描述】:
自从我皈依了 Emacs 教会以来,我一直在尝试从里面做所有事情,我想知道如何用它快速有效地进行一些文本处理。
以我几分钟前在 org-mode 上编辑的这个列表为例。
** 迭戈:b QI ** 布鲁诺吉尔:b QI ** 科马:乔 ** 嗯:rsrs pr0n ** 费利佩奥古斯托:特别是 ** GustavoPupo:pinto tr 等 ** GP:点燃 gtk ** 艾伦:jo mil pc ** 约斯特:b hq jo 1997 ** 赫伯特:b rsrs pr0n ** 安德烈:maia mil 伪 ** 罗德里戈:c ** 原因:b rsrs 7arte 伪 **肯尼:cri gif ** 丹尼尔:gtk mu pr0n rsrs b ** 托尼:1997 年的 esp ** 维托:b jo mimimi ** 拉斐尔:b rpg 7arte ** Luca:b lit gnu pc prog mmu 7arte 1997 ** LZZ:一个qt ** 威廉:b an jo pc 1997 ** 史诗:gtk ** 阿尔多:b 伪 pol mil 毛皮 ** GustavoKyon:一个gtk ** CarlosIsaksen : an hq jo 7arte gtk 1997 ** 彼得:pseudo pol mil est 1997 gtk lit lang ** 莱德罗:b jo cb ** 弗雷德里科:7arte lit gtk ** 角色:b 一个伪 mimimi 7arte ** 马蒂亚斯:jo lit ** 恩里克:1997 h gtk qt ** eumané:一个 qt ** 海象:cri de ** FilipePinheiro:点燃伪 ** 伊戈尔:伪 b ** 埃里克:b jo rpg q 1997 gtk ** 加布里埃尔:pr0n rsrs qt **乔治:克洛咪咪 ** anão: hq jo 1997 rsrs clô b ** 杰夫:7arte gtk ** davidatenas:7arte 1997 esp qt ** 哈哈哈:b ** 爱德华多:b这是一个与标签关联的名称列表,我想获取与名称关联的标签列表。
在 bash 中,我会首先用单引号回显整个粘贴的内容,然后通过管道将其传送到 awk,循环遍历每一行并将其每个部分添加到正确的临时变量中,然后对其进行处理,直到它像我想要的那样。
echo '** Diego: b QI ** 布鲁诺吉尔:b QI ** 科马:乔 ** 嗯:rsrs pr0n ** 费利佩奥古斯托:特别是 ** GustavoPupo:pinto、tr 等 ** GP:点燃 gtk ** 艾伦:jo mil pc ** 约斯特:b hq jo 1997 ** 赫伯特:b rsrs pr0n ** 安德烈:maia mil 伪 ** 罗德里戈:c ** 原因:b rsrs 7arte 伪 **肯尼:cri gif ** 丹尼尔:gtk mu pr0n rsrs b ** 托尼:1997 年的 esp ** 维托:b jo mimimi ** 拉斐尔:b rpg 7arte ** Luca:b lit gnu pc prog mmu 7arte 1997 ** LZZ:一个qt ** 威廉:b an jo pc 1997 ** 史诗:gtk ** 阿尔多:b 伪 pol mil 毛皮 ** GustavoKyon:一个gtk ** CarlosIsaksen : an hq jo 7arte gtk 1997 ** 彼得:pseudo pol mil est 1997 gtk lit lang ** 莱德罗:b jo cb ** 弗雷德里科:7arte lit gtk ** 角色:b 一个伪 mimimi 7arte ** 马蒂亚斯:jo lit ** 恩里克:1997 h gtk qt ** eumané:一个 qt ** 海象:cri de ** FilipePinheiro:点燃伪 ** 伊戈尔:伪 b ** 埃里克:b jo rpg q 1997 gtk ** 加布里埃尔:pr0n rsrs qt **乔治:克洛咪咪 ** anão: hq jo 1997 rsrs clô b ** 杰夫:7arte gtk ** davidatenas:7arte 1997 esp qt ** 哈哈哈:b ** 爱德华多:b ' | awk '{sub(":","");for (i=3;i...还有TA-DA!不到 2 分钟的预期输出,以直观和增量的方式完成。你能告诉我如何在 elisp 中做这样的事情,最好是在 emacs 缓冲区中,优雅而简单吗?
谢谢!
【问题讨论】: