查找具有特定名称的文件或目录的名称

Finding names of files or directories with certain name

我必须在当前目录中找到至少有 2 位数字且以非数字值结尾的文件名。 到目前为止我已经完成了:

find . -maxdepth 1 -type f -name "[0-9]\{2,\}$[!0-9]"

但它不起作用。有人可以帮我解决这个问题吗?

\{2,\} 是正则表达式 thing1,而 shells 和 find 的 -name 选项使用 shell 模式( a.k.a.globs)。使用任何

ls *[0-9]*[0-9]*[!0-9]
find . -maxdepth 1 -type f -name '*[0-9]*[0-9]*[!0-9]'

* 表示任意数量的字符,[0-9] 是数字,[!0-9] 不是数字。

1还要注意,在正则表达式中,[0-9]\{2,\} 将是“至少两个连续的数字”。所以它不会匹配 f1f2x 文件。 $ 会完全不合适。