如何获取父文件夹中名称由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]*"