我在Linux上用bash编写脚本,需要遍历给定目录中的所有子目录名称。如何遍历这些目录(并跳过常规文件)?
例如: 给定目录是/tmp/ 它具有以下子目录:/tmp/A, /tmp/B, /tmp/C
/tmp/
/tmp/A, /tmp/B, /tmp/C
我想检索A,B,C。
cd /tmp find . -maxdepth 1 -mindepth 1 -type d -printf '%f\n'
简短说明:
find 查找文件(很明显)
find
.是当前目录,它位于cdis之后/tmp(恕我直言,它比/tmp直接包含在find命令中更为灵活。cd如果要在此文件夹中执行更多操作,则只有一个位置可以更改,)。
.
cd
/tmp
-maxdepth 1并-mindepth 1确保find仅在当前目录中查找,并且不将.自身包含在结果中
-maxdepth 1
-mindepth 1
-type d 只查找目录
-type d
-printf '%f\n 对于每次匹配,仅打印找到的文件夹名称(加上换行符)。
-printf '%f\n
等等!