首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >emacs find-grep grep

emacs find-grep grep
EN

Stack Overflow用户
提问于 2011-04-01 19:23:25
回答 2查看 1.5K关注 0票数 4

我尝试对emacs的find-grep的结果执行grep,所以我使用以下命令:

查找.\ xargs .\ grep -v“包括”

结果显示我是grep缓冲区,但当我在试图进入该文件的每个条目上按enter时,emacs表示该文件不存在。在小型缓冲区中,在文件的完整路径之前,有一个^[[K字符]。这基本上使整个文件名无法识别。我翻阅了grep的手册,仍然不确定我能做些什么。

我可能不需要这样做,但我不知道如何传递两种模式,一种是针对grep,另一种是逆grep。(可能是正则表达式?)

有人对此有什么建议吗?

解决方案:

我是在星图5.5机器上做这个的。结果发现,由于grep的旧版本,这是一个问题。我在主目录中安装了最新版本的grep,现在一切都很好。

EN

回答 2

Stack Overflow用户

发布于 2011-04-05 17:18:31

在通过注释“调试”问题之后,这是一个适合您的解决方案。将其添加到您的.emacs中并自定义它,以便regexp与您希望从文件名:^[[K中删除的特殊字符匹配。

代码语言:javascript
复制
(defadvice compilation-find-file (before compilation-find-file-strip-odd-chars activate)
  "Strip the ^[[K in the input string"
  (let ((filename (ad-get-arg 1)))
    (save-match-data
      (when (string-match "^\\[\\[K" filename)
        (ad-set-arg 1 (replace-match "" nil nil filename))))))
票数 3
EN

Stack Overflow用户

发布于 2012-06-06 06:41:24

我有同样的问题,但无法改变我的版本的grep,所以我使用了一个解决办法。问题似乎是行的结尾,所以我只需通过awk运行grep的结果并按原样打印它们。

代码语言:javascript
复制
... | grep -v blaa | awk '{print $0}'

这解决了我的问题,虽然我不知道为什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5517877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档