删除所有文件名符合模式且大小低于特定限制的文件

删除所有文件名符合模式且大小低于特定限制的文件

我需要删除所有.avi扩展名且大小低于100MB。我有大量的视频文件,需要删除较短的视频以释放一些空间。我该怎么做?

答案1

使用find命令:

find /path/to/ -name '*.avi' -type f -size -100M -delete

细节:

  • /path/to/

    这告诉 find 在目录及其所有子目录中查找文件/path/to/。如果要从当前目录开始,请使用.

  • -name '*.avi'

    这告诉find只查找名称以.avi

  • -type f

    这告诉find您仅查找常规文件。这不包括目录、管道、套接字等。

  • -size -100M

    这告诉find您仅查找小于 100MB 的文件。如果您想删除大于 100MB 的文件,请使用+100M

  • -delete

    这告诉find删除符合上述条件的文件。

为了安全起见,第一次尝试此命令时,请去掉-delete。这将返回找到的文件列表:

    find /path/to/ -name '*.avi' -type f -size -100M

如果找到的文件是您想要删除的文件,则添加回去-delete

仅搜索当前目录和不是其子目录

要限制递归查找到子目录中,请使用以下-maxdepth选项:

find /path/to/ -maxdepth 1 -name '*.avi' -type f -size -100M -delete

要在当前目录执行上述操作:

find . -maxdepth 1 -name '*.avi' -type f -size -100M -delete

相关内容