Emacs:如何使用正则表达式在缓冲区中搜索并在新缓冲区中显示结果?

4
假设我在emacs中有一个包含1000行的缓冲区,并且在该缓冲区中分散着unicode引用(例如\u8226)。我想将所有这些引用收集到另一个缓冲区中,然后可以对其进行排序和去重。
在(* nix)命令行上,我可以执行以下操作:
grep -o "\\\\u[0-9]*" tmpfile | sort | uniq

这是否可以直接在emacs中实现,而无需将任何缓冲区保存到磁盘?
2个回答

6

前往您的缓冲区,使用C-x h全选,然后执行M-| grep -o "\\\\u[0-9]*" | sort | uniq(这将运行shell-command-on-region)。输出将进入*Shell Command Output*,除非输出足够长,否则不会显示,但它总是被创建并且您可以随时切换到它。

还有一个occur命令(M-s o)。


6
M-x occur RET [[:nonascii:]]+ RET
  M-x other-window
  M-x toggle-read-only
  M-x sort-lines

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接