在NTemacs上的eshell中使用grep

在NTemacs上的eshell中使用grep,emacs,grep,cygwin,eshell,Emacs,Grep,Cygwin,Eshell,我一直在尝试使用NTemacs和Cygwin中的grep对子文件夹中的文件执行递归grep命令。到目前为止,最好的结果是在eshell中使用grep。当我使用此选项时: 格雷普“t”-r* 我得到一个包含字母t的所有文件名的列表,在所有子文件夹中,一层向下,但没有其他内容。在Cygwin我什么也得不到。我正在开发一个不在Cygwin安装中的directroy。我不知道那个母亲是不是 我想要的是匹配所有文件中更复杂字符串的内容(不仅仅是文件名,还有内容)。在所有子目录中 我想使用emacs的esh

我一直在尝试使用NTemacs和Cygwin中的grep对子文件夹中的文件执行递归grep命令。到目前为止,最好的结果是在eshell中使用grep。当我使用此选项时:

格雷普“t”-r*

我得到一个包含字母t的所有文件名的列表,在所有子文件夹中,一层向下,但没有其他内容。在Cygwin我什么也得不到。我正在开发一个不在Cygwin安装中的directroy。我不知道那个母亲是不是

我想要的是匹配所有文件中更复杂字符串的内容(不仅仅是文件名,还有内容)。在所有子目录中


我想使用emacs的eshell,但除了使用LINUX之外,我愿意接受建议。这是一台工作PC,我不想做LINUX安装的所有设置。

我刚刚写了一个非常类似的答案,但我怀疑这是同一个根本问题:

我的第一个想法是,您的文件有windows行结尾(CRLF),而不是unix/linux行结尾(LF),这会影响grep解析文件的能力。尝试运行以下命令:

dos2unix filename
在您需要搜索的每个文件上,然后重试您的grep语句

如果需要跨多个目录转换多个文件,我建议使用
dos2unix
find
-exec
操作:

find . -exec dos2unix {} \;

(当然,在运行之前,添加您需要找到的任何其他选项)

我刚刚写了一个非常类似的答案,但我怀疑这是同一个根本问题:

我的第一个想法是,您的文件有windows行结尾(CRLF),而不是unix/linux行结尾(LF),这会影响grep解析文件的能力。尝试运行以下命令:

dos2unix filename
在您需要搜索的每个文件上,然后重试您的grep语句

如果需要跨多个目录转换多个文件,我建议使用
dos2unix
find
-exec
操作:

find . -exec dos2unix {} \;
(当然,在运行之前,添加您需要找到的任何其他选项)