获取仅使用大写字母命名的文件夹下的子文件夹



我想获得名称仅大写的子文件夹列表(仅文件夹名称,不带前导pardir或尾随/(。

我试过find . -maxdepth 1 -type d -name '[A-Z]+',但不起作用。

如果要在Regex中使用大写名称,请使用[:upper:]类名:

find . -maxdepth 1 -type d -regextype posix-extended -regex './[[:upper:]]+'

或者使用Bash的extglobExtended Globing:

shopt -s extglob
printf %s\n +([[:upper:]])/

-name运算符并不像您所期望的那样使用正则表达式。相反,它使用";通配符";类似于这里描述的bash通配符系统。

您可能希望使用-regex运算符,如文档的"全名模式"部分所述。使用这个你应该有一个命令像:

find . -maxdepth 1 -regex './[A-Z]+'

您可以使用"运行命令"部分中描述的选项执行任何其他路径操作。

最新更新