如何在多个目录(文本文件)中找到所有xml文件并删除"

时间:2018-02-20 19:42:41

标签: linux bash find

我有一个文本文件,其中包含大约1000个目录的完整路径。每个都在一个单独的行。我想删除这些文件夹中包含的所有.xml文件。我可以使用以下方式一次获得这个:

find /mnt/local/hhd1/output/data/2010-aug-ph1/ -name "*.xml" -type f -delete

但显然需要很长时间才能手工完成。如何查找每行并从文本文件中执行删除?

1 个答案:

答案 0 :(得分:1)

使用循环从您的文件中读取目录名称,并在每个目录上发出find ... -delete

#!/bin/bash

while read -r dir; do
  find "$dir" -name "*.xml" -type f -delete
done < file