Linux查找没有文件但只有子文件夹的文件夹

时间:2013-07-18 19:34:29

标签: linux command-line

我知道可以使用以下命令找到空文件夹:

find DirectoryPath -type d -empty

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

1 个答案:

答案 0 :(得分: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是一个lsit命令。
  • [ "x CMD2 " = x ] && echo "{}":运行命令CMD2,如果输出为空,它将回显目录的名称。
  • find "{}" -maxdepth 1 -type f:查找当前目录中的任何文件。

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