我想获得名称仅大写的子文件夹列表(仅文件夹名称,不带前导pardir
或尾随/
(。
我试过find . -maxdepth 1 -type d -name '[A-Z]+'
,但不起作用。
如果要在Regex中使用大写名称,请使用[:upper:]
类名:
find . -maxdepth 1 -type d -regextype posix-extended -regex './[[:upper:]]+'
或者使用Bash的extglob
Extended Globing:
shopt -s extglob
printf %s\n +([[:upper:]])/
-name
运算符并不像您所期望的那样使用正则表达式。相反,它使用";通配符";类似于这里描述的bash通配符系统。
您可能希望使用-regex
运算符,如文档的"全名模式"部分所述。使用这个你应该有一个命令像:
find . -maxdepth 1 -regex './[A-Z]+'
您可以使用"运行命令"部分中描述的选项执行任何其他路径操作。