在目录中查找文件名,不包括文件名开头出现的零

在目录中查找文件名,不包括文件名开头出现的零

我有一个文件名为“ 202.png、405.png、0052.png、04050.png、......的目录” 我需要一个 find 命令来查找不包括文件名开头出现的零的文件名例如,如果我有一个文件名为 00504.png 的文件,那么当我传递参数 504.png 到 find 命令时,它必须返回文件名 00504.png,这是目录中文件的实际名称。

预期输出命令是

$ find . -name 504.png

它必须返回原始文件名 00504.png

答案1

据我所知,该find命令-name仅支持简单的全局匹配。但是,您可以使用以零个或多个字符为前缀-regex的匹配:504.png0

find . -regex '.*/0*504.png'

领先.*/是因为-regex是完整路径匹配。


如果您不需要递归搜索,那么 bash 之类的 shell 可能会提供扩展的 glob,允许使用如下表达式:*(0)

printf '%s\n' *(0)504.png

检查您正在使用的 shell 的文档。

相关内容