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

Phi*_*ham 4 regex emacs

假设我在拥有1000行的emacs中有一个缓冲区,并且在该缓冲区中点缀了unicode引用(例如\u8226).我想将所有这些引用收集到另一个缓冲区中,然后我可以对其进行排序和统一.

在(*nix)命令行上,我可以执行以下操作:

grep -o "\\\\u[0-9]*" tmpfile | sort | uniq
Run Code Online (Sandbox Code Playgroud)

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

jpk*_*tta 6

转到你的缓冲区,选择全部C-x h,然后执行M-| grep -o "\\\\u[0-9]*" | sort | uniq(运行shell-command-on-region).输出将进入*Shell Command Output*,除非输出足够长,否则不会显示,但它始终是创建的,无论如何都可以切换到它.

还有occur(M-s o).


aar*_*ist 6

M-x occur RET [[:nonascii:]]+ RET
  M-x other-window
  M-x toggle-read-only
  M-x sort-lines
Run Code Online (Sandbox Code Playgroud)