小编典典

如何在 Linux 中遍历目录?

all

我正在 Linux 上用 bash 编写脚本,需要遍历给定目录中的所有子目录名称。如何遍历这些目录(并跳过常规文件)?

例如:
给定的目录是否/tmp/
有以下子目录:/tmp/A, /tmp/B, /tmp/C

我想检索 A、B、C。


阅读 68

收藏
2022-06-10

共1个答案

小编典典

cd /tmp
find . -maxdepth 1 -mindepth 1 -type d -printf '%f\n'

一个简短的解释:

  • find查找文件(很明显)

  • .是当前目录,在cdis之后/tmp(恕我直言,这比/tmp直接在命令中更灵活。如果您想在此文件夹中执行更多操作,find您只有一个位置, , 可以更改)cd

  • -maxdepth 1-mindepth 1确保find仅在当前目录中查找并且不将.其自身包含在结果中

  • -type d仅查找目录

  • -printf '%f\n每次点击只打印找到的文件夹的名称(加上换行符)。

瞧脿!

2022-06-10