获取仅以大写字母命名的文件夹下的子文件夹
get subfolders under a folder named with uppercases only
我只想获取名称为大写的子文件夹列表(只有文件夹名称,没有前导 pardir
或尾部 /
)。
我尝试了 find . -maxdepth 1 -type d -name '[A-Z]+'
但它不起作用。
-name
operator does not use regular expressions as you might expect. Instead it using "wildcards" similar to the bash wildcard system as described here.
您可能想要使用文档 Full Name Patterns 部分中描述的 -regex
运算符。使用这个你应该有一个像这样的命令:
find . -maxdepth 1 -regex '\./[A-Z]+'
您可以使用 Run Commands 部分中描述的选项进行任何其他路径操作。
如果你想在 Regex 中使用大写名称,请使用 [:upper:]
class 名称:
find . -maxdepth 1 -type d -regextype posix-extended -regex './[[:upper:]]+'
或使用 Bash 的 extglob
扩展 Globbing:
shopt -s extglob
printf %s\n +([[:upper:]])/
我只想获取名称为大写的子文件夹列表(只有文件夹名称,没有前导 pardir
或尾部 /
)。
我尝试了 find . -maxdepth 1 -type d -name '[A-Z]+'
但它不起作用。
-name
operator does not use regular expressions as you might expect. Instead it using "wildcards" similar to the bash wildcard system as described here.
您可能想要使用文档 Full Name Patterns 部分中描述的 -regex
运算符。使用这个你应该有一个像这样的命令:
find . -maxdepth 1 -regex '\./[A-Z]+'
您可以使用 Run Commands 部分中描述的选项进行任何其他路径操作。
如果你想在 Regex 中使用大写名称,请使用 [:upper:]
class 名称:
find . -maxdepth 1 -type d -regextype posix-extended -regex './[[:upper:]]+'
或使用 Bash 的 extglob
扩展 Globbing:
shopt -s extglob
printf %s\n +([[:upper:]])/