我有一个文本文件,其中包含大约1000个目录的完整路径。每个都在一个单独的行。我想删除这些文件夹中包含的所有.xml文件。我可以使用以下方式一次获得这个:
find /mnt/local/hhd1/output/data/2010-aug-ph1/ -name "*.xml" -type f -delete
但显然需要很长时间才能手工完成。如何查找每行并从文本文件中执行删除?
答案 0 :(得分:1)
使用循环从您的文件中读取目录名称,并在每个目录上发出find ... -delete
:
#!/bin/bash
while read -r dir; do
find "$dir" -name "*.xml" -type f -delete
done < file