查找名称以大写字母开头的文件

Kar*_*ldt 15 find

我正在尝试查找名称以大写字母开头的所有文件。我尝试使用以下命令:

find . -type f -regex '.*\/[A-Z][^/]*'
Run Code Online (Sandbox Code Playgroud)

它正在寻找只有小写字母的路径。以下工作:

find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*'
Run Code Online (Sandbox Code Playgroud)

就像:

find . -type f | grep '.*\/[A-Z][^/]*$'
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有不同的选项regextype,结果相同。

为什么在 中find包含小写字母[A-Z]?我认为正则表达式是[a-zA-Z]. 有没有办法在 中指定一个只有大写字母的范围find

Cos*_*tas 38

您不需要使用-regex. 你可以-name改用。

find . -type f -name "[[:upper:]]*"
Run Code Online (Sandbox Code Playgroud)