代码之家  ›  专栏  ›  技术社区  ›  Johan Kotlinski

是否有一些Unix-util可以让我用很少的键入来grep多个文件?

  •  6
  • Johan Kotlinski  · 技术社区  · 16 年前

    find * | grep py$ | xargs grep foo
    

    8 回复  |  直到 16 年前
        1
  •  14
  •   dfa    16 年前

    ack :

    你更喜欢打哪一种?

    $ grep pattern $(find . -type f | grep -v '\.svn')

    $ ack pattern

        2
  •  4
  •   Brian Agnew    16 年前

    zsh

    grep foo **/*.py
    

    grep foo **/*.py(mh-5)
    

        3
  •  3
  •   Aditya Sehgal    16 年前
        4
  •  2
  •   Eric Wendelin    16 年前

    grep foo **/*.py
    

        5
  •  2
  •   jitter    16 年前

    grep -R foo *.py
    

    grep -R foo .
    
        6
  •  1
  •   Pierre    16 年前
    find . -name "*.py" -exec grep -H foo '{}' ';'
    
        7
  •  1
  •   chaos    16 年前
    grep -r --include='*.py' foo *
    
        8
  •  0
  •   Michael H.    16 年前

    我经常使用与您的find/grep对非常相似的东西,尽管有更多的条件——例如排除.svn目录中的文件。我经常这样做,我只是围绕这些调用编写脚本,所以我可以调用“src-grep…”,让它基本上做你在这里做的事情。(然后,我为多个上下文行添加了一个可选的扩展,以传递给grep-C标志(如果提供的话),并为定义语句的结果添加了单独的版本。)