【问题标题】:Find file with at least one number in /usr/include在 /usr/include 中查找至少有一个数字的文件
【发布时间】:2015-03-18 11:53:38
【问题描述】:

使用find 命令,我想查看/usr/include 中名称包含at least one number 的文件。

我试过这个命令:

find /usr/include -type f -regex '.\*[0-9].\*$'

但数字并不总是在文件名中,有时在路径中。例如找到/usr/include/linux/netfilter_ipv4/ipt_ah.h

之后,我尝试了这个命令:

find /usr/include -type f -regex '/[^\/]*[0-9][^\/]*$'

但它什么也没返回。

我该如何解决这个问题?

【问题讨论】:

    标签: regex bash find slash


    【解决方案1】:

    使用正则表达式本身:

    find /usr/include/ -type f -regex ".*/[^/]*[0-9][^/]*"
    

    在这里,我们在文件名中的最后一个 / 之后查找至少 1 个数字。

    【讨论】:

      【解决方案2】:

      如果您使用-name 测试而不是-regex 测试,它将仅匹配文件名,忽略前面的目录 (see the man page)。请注意,-name 使用 shell 模式而不是正则表达式模式,因此语法略有不同。您可以使用此命令查找文件名中包含数字的文件:

      find /usr/include -type f -name '*[0-9]*'
      

      【讨论】:

        猜你喜欢
        • 2016-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-24
        • 2013-12-05
        • 2012-07-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多