反复删除特定类型的文件

时间:2019-07-17 02:01:48

标签: for-loop unix

我有一些要删除的.tmp文件子文件夹,并试图为此找到一个文件名。

for item in folder1/*/*; do rm *.tmp; done

由此,我收到一堆消息:

rm: cannot remove ‘*.tmp’: No such file or directory

当我尝试执行其他操作时遇到相同的问题。我在这里想念什么?

P.S。我知道我可以使用rm -rf *.tmp进行不带for循环的递归删除,但是我想知道如何使用迭代循环来进行删除,这样我就可以使用它来执行rm之外的其他操作替换语句的“操作”部分。

预先感谢

1月

1 个答案:

答案 0 :(得分:1)

您可以使用:

find folder1 -mindepth 2 -maxdepth 2 -type f -name "*.tmp" -exec rm -f {} \;

这将仅在第二目录级别(-mindept 2 -maxdepth 2)中找到名称以“ tmp”结尾的文件(-f),并将其删除。

您可以先尝试使用“ ls”而不是“ rm”,以检查命令是否找到了所需的内容。