-3

抱歉这个新手问题,我通常会查找如何做到这一点,但我处于可怕的境地,任何错误都可能导致大文件丢失,所以我需要小心。

有任何想法吗?最好是预测试的,谢谢!

4

3 回答 3

4

我将假设这些文件没有与文件类型相对应的扩展名(.png对于 PNG 文件),否则解决方案将是显而易见的。

如果是这种情况,您可以使用file. 此命令将显示当前目录和任何子目录中的所有 PNG 文件:

$ find  -exec bash -c "file -b --mime-type {} | grep -q ^image/png$" \; -print

这个将删除它们:

$ find  -exec bash -c "file -b --mime-type {} | grep -q ^image/png$" \; -delete
于 2013-08-03T18:22:37.240 回答
2

既然你说它会导致大量文件丢失,你可以先找到文件,以确保文件列表正确。

find YOUR_DIRECTORY -name '*.png'

确认文件列表后,只需添加-exec

find YOUR_DIRECTORY -name '*.png' -exec rm -f {} +

PS:这将在子目录中进行搜索并找到/删除它们。

于 2013-08-03T18:14:37.323 回答
1

这实际上非常简单。

只需 cd 进入您的目录。

并输入

rm *.png

这将自动删除所有带有 PNG 扩展名的文件。

至于您担心丢失数据,只需制作一个(或多个)目录的副本。备份重要数据总是好的。你永远不知道什么时候可能需要它们!

于 2013-08-03T18:12:59.460 回答