对于新问题我很抱歉,我通常会查找如何做到这一点,但我处于一个可怕的情况,任何错误都可能导致大量文件丢失,所以我需要小心。
有什么想法吗?最好是经过预先测试的,谢谢!
答案 0 :(得分:3)
我将假设文件没有与文件类型相对应的扩展名(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
答案 1 :(得分:2)
由于您说它可能导致大量文件丢失,您可以先找到这些文件,只是为了确保文件列表正确。
find YOUR_DIRECTORY -name '*.png'
确认文件列表后,只需添加-exec
find YOUR_DIRECTORY -name '*.png' -exec rm -f {} +
P.S:这将在子目录中进行搜索并查找/删除它们。
答案 2 :(得分:1)
这实际上很简单。
只需cd进入您的目录。
然后输入
rm *.png
这将自动删除所有带有PNG扩展名的文件。
至于你担心丢失数据,只需复制(或复制)目录。备份重要数据总是好的。你永远不知道什么时候需要它们!