【问题标题】:Find command ignore directory查找命令忽略目录
【发布时间】:2013-02-05 13:15:45
【问题描述】:

我正在尝试查找所有以 .jar 结尾的文件,但它正在拾取以 .jar 结尾的文件夹,这是我不想要的。

到目前为止我的命令

find . -name ".*jar"

我需要它,所以它会忽略以 .jar 结尾的目录

附加请求。

我现在需要在查找时忽略特定文件夹,这可能吗?

谢谢。

【问题讨论】:

    标签: linux directory find


    【解决方案1】:

    其他人已经展示了如何提取以.jar结尾的文件。作为对您的评论“如何忽略特定文件夹”的回答。您为此使用-prune

    find . -name 'specific/folder' -type d -prune -o -type f -name '*.jar'
    

    【讨论】:

      【解决方案2】:

      这就是你想要的

      find . -type f -name "*.jar"
      

      参见手册页:

      -type Type
          Evaluates to the value True if the Type variable specifies one of the following values:
            b
                 Block special file
            c
                 Character special file
            d
                 Directory
            f
                 Plain file
            l
                 Symbolic link
            p
                 FIFO (a named pipe)
            s
                 Socket
      

      【讨论】:

        【解决方案3】:

        只需添加 -type f:

        find . -name "*.jar" -type f
        

        【讨论】:

        • 也应该是"*.jar" 而不是".*jar"。
        • 这很好用。还有一个额外的要求。搜索时如何忽略特定文件夹?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-14
        • 2016-04-21
        • 2016-05-22
        • 1970-01-01
        • 2015-06-15
        • 1970-01-01
        • 2018-10-17
        相关资源
        最近更新 更多