-1

我知道可以使用以下方法找到空文件夹:

find DirectoryPath -type d -empty

我想查找没有文件但可能有一个或多个子文件夹的文件夹(也不是空的)

4

1 回答 1

1

尝试以下命令(DirPath是要搜索的目录):

find DirPath -type d -exec bash -c '[ "x`find "{}" -maxdepth 1 -type f`" = x ] && echo "{}"' \;

简要说明:

  • -type d: 只检查目录。
  • -exec bash -c CMD1 \;使用每个选中的目录运行命令 CMD。我们需要使用 shell,因为 CMD1 是一个命令集。
  • [ "xCMD2 " = x ] && echo "{}":运行命令 CMD2 ,如果输出为空,它将回显目录的名称。
  • find "{}" -maxdepth 1 -type f:在当前目录中查找任何文件。

放在一起:它将打印没有文件的目录的名称。

于 2013-07-18T19:41:45.900 回答