![删除许多文件导致“参数列表太长”](https://linux22.com/image/1008596/%E5%88%A0%E9%99%A4%E8%AE%B8%E5%A4%9A%E6%96%87%E4%BB%B6%E5%AF%BC%E8%87%B4%E2%80%9C%E5%8F%82%E6%95%B0%E5%88%97%E8%A1%A8%E5%A4%AA%E9%95%BF%E2%80%9D.png)
我有一个文件夹中有 28 万张照片需要删除,但有一些视频需要保留。在文件夹中,我输入了命令:#rm *.jpg
,但收到“参数列表太长”的提示。当我创建参数来删除部分照片时,它适用于较小的集合,如下所示:# rm 104-*.jpg。
如何才能有效地删除目录中的所有 JPEG 文件,而不会出现“参数列表太长”的消息?
#rm -f *.jpg
传达了同样的信息。
在 Caja 中打开文件夹占用过多内存并崩溃。我正在使用Ubuntu MATE。
答案1
处理“参数列表太长”错误的典型方法是通过以下find
命令:
find -maxdepth 1 -mindepth 1 -type f -name "*.jpg" -delete
答案2
您可以使用xargs
:
printf '%s\0' *.jpg | xargs -0 rm --
在 中bash
,printf
命令是内置的,不受相同参数长度限制。