在 /usr/include 中查找至少有一个数字的文件
Find file with at least one number in /usr/include
使用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][^\/]*$'
但它returns没什么。
我该如何解决这个问题?
如果您使用 -name
测试而不是 -regex
测试,它将只匹配文件名,忽略前面的目录 (see the man page)。请注意 -name
使用 shell 模式而不是正则表达式模式,因此语法略有不同。您可以使用此命令查找文件名中包含数字的文件:
find /usr/include -type f -name '*[0-9]*'
使用正则表达式本身:
find /usr/include/ -type f -regex ".*/[^/]*[0-9][^/]*"
在这里,我们在文件名中的最后一个 /
之后寻找至少 1 个数字。
使用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][^\/]*$'
但它returns没什么。
我该如何解决这个问题?
如果您使用 -name
测试而不是 -regex
测试,它将只匹配文件名,忽略前面的目录 (see the man page)。请注意 -name
使用 shell 模式而不是正则表达式模式,因此语法略有不同。您可以使用此命令查找文件名中包含数字的文件:
find /usr/include -type f -name '*[0-9]*'
使用正则表达式本身:
find /usr/include/ -type f -regex ".*/[^/]*[0-9][^/]*"
在这里,我们在文件名中的最后一个 /
之后寻找至少 1 个数字。