我意外地将 400 万个小文本文件写入了一个文件夹,如何最好地删除它们?

我意外地将 400 万个小文本文件写入了一个文件夹,如何最好地删除它们?

由于脚本错误(file_put_contents($text, $filename, FILE_APPEND)而不是file_put_contents($filename, $text, FILE_APPEND)我现在在一个文件夹中有 400 万个小文本文件。

我不想破坏整个文件夹,因为里面有一些有用的文件。

所有不需要的文件的文件名中间都有“jpg”,而不需要的文件则没有。

删除这些内容最快的方法是什么?ls如果没有它现在挂起我的控制台,我什至无法执行此操作- 这使得识别我想要保留的文件的名称变得困难,否则我只需将它们移出文件夹,然后删除整个文件夹。

find . -name "*jpg*" -delete最好的选择,还是有更好/更快的方法?

答案1

有 400 万个文件,rm /location/of/many/files/*jpg*可能会因Argument list too long错误而失败。

使用find

find /location/of/many/files/ -maxdepth 1 -type f -name '*jpg*' -delete

或者如果-delete不可用:

find /location/of/many/files/ -maxdepth 1 -type f -name '*jpg*' -exec rm {} +

相关内容