在Linux中,如何找到特定目录中不包含特定文件的所有子文件夹?

在Linux中,如何找到特定目录中不包含特定文件的所有子文件夹?

我需要能够找到缺少特定文件的所有子目录。

我每天都有数千个 zip 文件通过 Ftp 传输到我的服务器上的特定目录中: /opt/FTP/IN 现在,发件人正在该目录下创建文件夹,并将 zip 文件放入正在创建的文件夹中,那里可能会创建数百到数千个文件夹。但是,当他们将 zip 文件放入特定文件夹后,他们应该创建一个名为 done.txt 的文件,让我们知道该文件夹已准备好进行处理。有时他们会错过放置 did.txt 文件,我需要进去手动创建它。

如何搜索并仅收集不包含done.txt 文件的文件夹名称?

答案1

以您更清楚的为准:

反转find条件:

find /start/dir -type d ! -exec test -e {}/done.txt \; -print

反转test条件:

find /start/dir -type d -exec test ! -e {}/done.txt \; -print

任何其中没有done.txt文件的目录都会被打印。

相关内容