如何获取所有仅由大写字母组成的子文件夹名称?

如何获取所有仅由大写字母组成的子文件夹名称?

如何获取父文件夹中名称由AZ组成的文件夹,不包含小写、下划线、点或任何其他内容?

答案1

您对“父文件夹”的使用有点令人困惑,这将找到给定路径中的所有文件夹(实际上是目录),而无需遍历整个树,这些文件夹仅由 AZ 组成。

find /given/path -type d -maxdepth 1 -regextype sed -regex ".*/[A-Z]*"

例如,要执行当前目录,

find . -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*"

要执行当前目录的父目录,

find .. -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*"

要执行当前目录及其下面的每个目录,

find . -type d -regextype sed -regex ".*/[A-Z]*"

样本输出,

tony@trinity:~$ find . -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*"
./AA
./TEST

现在,如果您需要./从输出中删除 ,您可以cut稍后将其删除。

tony@trinity:~$ find . -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*" | cut -c 3-
AA
TEST

但这仅在您不遍历整棵树时才有效。

答案2

尝试以下命令:

ls -1 | grep -w "[A-Z]*"

相关内容