删除许多文件会导致“参数列表太长”

j0h*_*j0h 4 filesystem command-line bash files rm

我在一个文件夹中有 28 万张照片要删除,但要保留一些视频。在文件夹中,我给出了命令:#rm *.jpg,但我得到“参数列表太长”。当我创建一个参数来删除一些照片时,它适用于较小的集合,如下所示:#rm 104-*.jpg。

如何有效地删除目录中的所有 JPEG 文件而不会收到“参数列表太长”消息?

#rm -f *.jpg 给出相同的信息。

在此处输入图片说明

在 Caja 中打开文件夹使用太多内存并崩溃。我正在使用Ubuntu MATE

Ser*_*nyy 12

处理“参数列表太长”错误的典型方法是通过以下find命令:

find  -maxdepth 1 -mindepth 1 -type f -name "*.jpg" -delete
Run Code Online (Sandbox Code Playgroud)


ste*_*ver 8

您可以使用xargs

printf '%s\0' *.jpg | xargs -0 rm --
Run Code Online (Sandbox Code Playgroud)

在 中bash,该printf命令是内置命令,不受相同参数长度限制。

  • 或者,使用 `./*.jpg` 而不是依赖于 `--`。让它更便携 (2认同)