搜索子文件夹中的文件并将结果导出到文件

搜索子文件夹中的文件并将结果导出到文件

我有一个包含数百个子文件夹的文件夹。我需要在子文件夹中递归查找那些不包含某些文件的文件夹(例如 *ch.pdf 或 *.jpg),并将结果导出到 txt 文件。提前谢谢

答案1

给你:

find <folder> -type d -exec bash -c "ls {} | grep -i \".*ch\.pdf$\|.*\.jpg$\" > /dev/null || echo {}" \; > <target file>

简要说明:

  1. 递归列出 <folder> 内的所有文件夹
  2. 对于找到的每个文件夹 - 列出所有文件并检查是否有以“ch.pdf”或“.jpg”结尾的文件。我们对这些文件不感兴趣,因此将输出重定向到 /dev/null。
  3. 如果没有找到这样的文件,则使用 打印相对文件夹路径echo
  4. 将结果重定向find到 <目标文件>

相关内容