2

我正在使用 Linux 版本的 emacs,我想使用它的 grep(或 rgrep)函数来列出与模式匹配的所有文件名,理想情况下这应该是递归的。我希望能够从 eshell 调用它。我是emacs新手,所以如果有更方便的方法,请列出这些方法,谢谢!

编辑:这种情况下的目的是确保文件列表中没有二进制可执行文件,我不需要输出到任何地方。

4

3 回答 3

3

M-x find-name-dired RET是你想要的。

于 2013-09-07T05:07:52.663 回答
1

使用命令M-x grep-find,然后使用标志调整find命令-executable以满足您的需要。

于 2013-09-06T18:13:30.827 回答
1

还有另一种方法(很常见)使用 Dired 来做到这一点。假设您现在在 Dired 缓冲区中可以看到要搜索的目录。将点移动到它并执行C-u iRRET- 这将在同一缓冲区中递归地扩展所有子目录。现在* *将选择所有子目录中的所有可执行文件。

如果您想隐藏其余部分,请执行tk.

PS。出于您的目的,Dired 将在 minibuffer 中报告它找到了多少可执行文件,因此您不需要执行第二步。如果您想进一步处理文件,第二步是针对这种情况。

于 2013-09-06T23:25:09.897 回答