【问题标题】:is it possible to find the file which contains a specific text in linux?是否可以在linux中找到包含特定文本的文件?
【发布时间】:2011-04-23 06:21:16
【问题描述】:

考虑一下这种情况,我在“Example”文件夹下有很多文件。如果我需要找到一个包含特定短语(如“Class Example”)的文件,我该如何使用 linux shell?

在 linux 中是否有类似“定位”的功能可以做到这一点?

谢谢,

巴兰

【问题讨论】:

    标签: linux shell


    【解决方案1】:

    使用好人grep:

    grep -R "Class Example" Example
    

    其中"Class Example" 是搜索字符串,Example 是目录,-R 指定递归搜索。

    【讨论】:

      【解决方案2】:

      你可以试试这样的:

      find Example | xargs grep 'Class Example'
      

      【讨论】:

        【解决方案3】:

        您可以使用 egrep "text1|text2" * 或使用 grep, 而且cscope也是搜索和编辑的好工具..

        【讨论】:

          【解决方案4】:

          如果您想要一个 gui 和/或快速结果,Beagle 是我使用的一个不错的解决方案。 Beagle Main Page.

          【讨论】:

          • 这是什么小猎犬?这与我的问题有什么关系?
          • @balanv Beagle 是 Linux 的搜索守护程序。我在 Ubuntu 10.04 中使用它
          【解决方案5】:

          包含给定文本的文件名列表

          您可以使用findgrep 的组合来查找包含以下文本的文件名列表。

          find /<path>/Example -name "*" -exec grep -l "Class Example" {} \; 
          

          即使您不使用“类”与“类”之类的大小写,也可以使用-i 开关忽略大小写。此外,如果您知道文件扩展名,则可以将其提供给 -name 属性。您可以阅读更多详细信息here

          【讨论】:

            猜你喜欢
            • 2017-07-03
            • 2013-06-02
            • 2023-03-30
            • 1970-01-01
            • 2010-12-06
            • 1970-01-01
            • 2013-11-29
            • 2012-05-22
            相关资源
            最近更新 更多