我正在使用 Linux 版本的 emacs,我想使用它的 grep(或 rgrep)函数来列出与模式匹配的所有文件名,理想情况下这应该是递归的。我希望能够从 eshell 调用它。我是emacs新手,所以如果有更方便的方法,请列出这些方法,谢谢!
编辑:这种情况下的目的是确保文件列表中没有二进制可执行文件,我不需要输出到任何地方。
我正在使用 Linux 版本的 emacs,我想使用它的 grep(或 rgrep)函数来列出与模式匹配的所有文件名,理想情况下这应该是递归的。我希望能够从 eshell 调用它。我是emacs新手,所以如果有更方便的方法,请列出这些方法,谢谢!
编辑:这种情况下的目的是确保文件列表中没有二进制可执行文件,我不需要输出到任何地方。
M-x find-name-dired
RET是你想要的。
使用命令M-x grep-find
,然后使用标志调整find
命令-executable
以满足您的需要。
还有另一种方法(很常见)使用 Dired 来做到这一点。假设您现在在 Dired 缓冲区中可以看到要搜索的目录。将点移动到它并执行C-u iR
RET- 这将在同一缓冲区中递归地扩展所有子目录。现在* *将选择所有子目录中的所有可执行文件。
如果您想隐藏其余部分,请执行tk.
PS。出于您的目的,Dired 将在 minibuffer 中报告它找到了多少可执行文件,因此您不需要执行第二步。如果您想进一步处理文件,第二步是针对这种情况。