在NTemacs上的eshell中使用grep
我一直在尝试使用NTemacs和Cygwin中的grep对子文件夹中的文件执行递归grep命令。到目前为止,最好的结果是在eshell中使用grep。当我使用此选项时: 格雷普“t”-r* 我得到一个包含字母t的所有文件名的列表,在所有子文件夹中,一层向下,但没有其他内容。在Cygwin我什么也得不到。我正在开发一个不在Cygwin安装中的directroy。我不知道那个母亲是不是 我想要的是匹配所有文件中更复杂字符串的内容(不仅仅是文件名,还有内容)。在所有子目录中在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
我想使用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 {} \;
(当然,在运行之前,添加您需要找到的任何其他选项)